Changed error reporting for MergeVisitor
Made TemplateCallable data structure capable of handling any Java object
Moved typename (holding information about the defining module of a type and the name of the type itself, e.g. MyClass.MyRec) from ARecordDeclCG to the ARecordTypeCG and reintroduced a 'String' name for ARecordDeclCG
Changed the construction of template callables so they can carry state. In particular this allows JavaFormat to access the OO AST structure for further analysis.