Refs #10281. Added Group and CyclicGroup
Refs #10281. Removed counting variable from Group.

It was only used for testing purposes (counting number of required operations).
Refs #10281. Added simple factory function for Group-objects.

Since groups can be constructed from strings only and are probably not used directly in code so much, this solution seems simpler than a complete factory.
Refs #10281. Creating vectors of symmetry operations.
Refs #10280. Added class to deal with lattice centering
Refs #10281. Moved helper class out of CenteringGroup
Re #10281. Removing static members from SymmetryOperationSymbolParser
Refs #10281. Added string constructor to Group.
Refs #10281. Added ProductGroup class
Refs #10281. Added SpaceGroup class.
Refs #10281. Checkpointing SpaceGroupFactory.
Refs #10281. Changed SpaceGroupFactory
Refs #10281. Updating documentation.
Refs #10281. More work on SpaceGroupFactory.
Refs #10281. Removing unused include.
Refs #10281. Removed static variable from CenteringGroupCreationHelper
Refs #10281. Changed CenteringGroupCreationHelper again.
Refs #10281. Decided to change CenteringGroup helper once more

Having a singleton is better than having a static member variable which depends on initialization order. And it's better than to fill the symbol/type map every time a centering group is constructed.
Refs #10281. Removing output generating unit tests
Refs #10281. Exporting SpaceGroup and Factory to python