Merge pull request #7 from stevens-crag/SLPSet/Refactor

Huge refactoring
Started SLPMatchingTable::matches implementation
SLPMatchingInspector implementation
Introduced crag namespace
Started SLPMatchingTable::matches implementation
SLPMatchingInspector implementation
Counstructors and basic methods of SLPSet
FreeGroupAutomorphism constructors, inteface changes for SLPSet
composition with Nielsen automorphisms
Multiple changes
renamed FreeGroupAutomorphism to EndomorphismSLP
Convert EndomorphismSLP to a template
Refactoring to use std::map<TerminalSymbol, SLPVertex> instead of SLPSet
Prototype of Nielsen automorphisms and random generation (errors of compilation)
EndomorphismSLP refactoring for template parameter TerminalVertex
rebase to SLPSet/master
removed test for the class SLPSet
Rewriting of EndomorphismSLP
Changes to interface EndomorphismSLP, updated generator, added comments
multiple changes
Endomorphism update
Endomorphism fixes