Re #7279. Centralized logging the material information.
Re #7279. Fixing up the whitespace.
Re #7279. Fixed bug in calculations and made rho override correct.
Re #7279. Improved documentation of SampleNumberDensity parameter.
Re #7279. Modified print to not show a_number for isotopic averages.
Re #7279. Make calculating rho more rhobust.

Also added enabling and disabling parameters to make it clearer to
the user what is going on.
Re #7279. Added some math operators to NeutronAtom.

They are there to make SetSampleMaterial more readable.
Re #7279. Using new math operators for NeutronAtom.
Re #7279. Fairly major reworking of SetSampleMaterial.

 * Collapsed the if/else try/catch tree
 * Factored out some code into a separate function
 * Adding more verification and guidance of input parameters.
Re #7279. Moved implementation from header into source file.
Re #7279. Modifying unit test results to reflect bugfix.
Re #7279. Fixed unit test that originally worked on my machine.
Re #7279. Modified test values to reflect total scattering changes.

Martyn said it was the right thing to do and I always listen to him.
Merge remote-tracking branch 'origin/feature/7279_SetSampleMaterial_improvements'