Refs #9993. Added SymmetryOperation interface.

Two operations implemented as example: Identity and Inversion.
Refs #9993. Added more symmetry operations

Changed PointGroup interface. Changed unit test for 6/mmm, since
(1 2 3) is a special hkl in that group. The test now uses (7 2 3).
Refs #9993. Removed superfluous symmetry operations.

They were not used anywhere in the PointGroup code, but maybe they will come back later.
Refs #9993. Added unit tests for all symmetry operations.

Re-structered tests a bit, so that each operation can be tests with a single call to testSymmetryOperation with the expected parameters.
Refs #9993. Symmetry operations have identifier now
Refs #9993. Added documentation for SymmetryOperation
Refs #9993. Improved unit tests for SymmetryOperation

Identifiers are checked agains regex, added more meaningful output on error through the use of TSM_...
Refs #9993. Hiding symmetry operation storage of PointGroup
Refs #9993. Checkpointing work
Refs #9993. Completing work on PointGroup

Added documentation and some more tests.
Refs #9993. Integrating point group extension into PoldiPeakCollection
Refs #9993. Extended MillerIndices for interoperability with V3D
Refs #9993. Added unit tests for PoldiPeakCollection
Refs #9993. Added another unit test.
Refs #9993. Pointgroups now belong to a crystal system
Refs #9993. Added CrystalStructure-class

Things like unit cell, point group, lattice centering often occur together
and this class reflects their connection.
Refs #9993. Adapted PoldiPeakCollection to use CrystalStructure
Refs #9993. Making comparison operator const
Refs #9993. Including <stdexcept> in CrystalStructure.cpp
Refs #9993. Changing CrystalStructure-constructor for VC