Basic type hierarchies now compile.
Adds tests
Fixes whitespace
Fixes some compiler warnings.
Adds interface derivation.
Adds polymorphic test.
Regenerated other files based on new template.