Refs #10504. SpaceGroupFactory now generates prototypes on demand.
Refs #10504. Extracted prototype generation into method
Refs #10504. Added AbstractSpaceGroupGenerator and two sub-classes

This will replace a lot of code in SpaceGroupFactory eventually.
Refs #10504. SpaceGroupFactory now uses AbstractSpaceGroupGenerator

The factory now uses AbstractSpaceGroupGenerator-objects to delay prototype construction until it's really needed. Separating the generation out of the factory itself makes it more flexible (other space group generation algorithm) and more focused (factory does not care anymore how prototypes are constructed).
Merge branch 'feature/10504_improve_spacegroup_factory_registration' into develop