first steps of rewriting CodeGenerator

Added the CodeGen2 class and some helper classes to surround it. Eventually it
will replace the current CodeGenerator, being built from the ground up with
dependencies and sqlite3 in mind. The new scheme is much more convenient, with
the generator code for individual nodes sitting in separate files to provide a
better overview of the system.
added BlockExpr, DefinedType, TupleType codegen

The new code generation scheme seems to be fairly powerful. Especially in
combination with the sqlite3 database and the fact that packaging the source
fragments is done in a separate step.