migrated TupleType codegen
added many new codegen files

The following nodes that the old `CodeGenerator` was able to synthesize are
still missing from the new `CodeGen2`:

- `IfExpr`
- `IfCaseExpr`
- `ForExpr`
- `ArrayConstExpr`
- `QualifiedType`

As soon as this is done, the new code generator may be used in place of the old
one. Some renaming is necessary to clean up the code, and there are some
performance hits in the new CodeGen2 related to the sqlite3 database: When a
dependency is added, it needs to resolve the fragment name to obtain the
fragment ID, which requires a fair amount of time when interleaved with insert
queries. The class should collect all dependencies and insert them at the end
in one single transaction.