Update Model Repository and unit tests

-Add hasModel function
-Update addModel to return model instead of true false
Add SemGen and unit tests

SemGen if the core of this composer. It contains all info about SemGen.