change astfactory method to use interfaces instead of concrete classes
improved tostring used in the AST
updated the type checker to make proper used of the assistantfactory and make it possible to parse a factory to the ClassTypeChecker
improved extensibility of the type checker by changing static calls to use the factory