Use molar density as material property
Material density is currently defined by the mass density, i.e. mass/volume. Due to our choice of native mass unit this can be a large number that leads to numerical instabilities. The mass density is also not used directly, but only to compute the electron density.
We should therefore replace the mass density with the molar density, i.e. number of atoms measured in mol per volume, as the relevant material parameter. Most related quantities can then be computed as simple products
mass_density = atomic_mass * molar_density * avogadro_constant
molar_electron_density = nuclear_charge * molar_density
To avoid confusion between this parametrizations, the current Material
constructors need to be replaced by named constructors, e.g.
Material::fromMassDensity(...);
Material::fromMolarDensity(...);