Re #7846. Adding operator<< to UnitCell.

This is being done to centralize the code for printing out lattice
constants and their uncertainties.
Re #7846. Using new ostream operator in UnitCell.

Refactored some bits of code to be using c++ formating rather
than sprintf. Also moved things from the header to the implementation.
Re #7846. Printing out transformed lattice constants.

Also moved some implementation from the header files.
Re #7858. Changed if logic and added unit test to UnitCell.
Merge remote-tracking branch 'origin/feature/7846_print_lattice'