Process type definitions in a predictable order
Add some failure tests for inheritance
Restructure the test files
Adjust runtest.py to allow compiler success tests
Add some success tests
Actually throw a coalesced exception (TypeChecker)
Coalesce some exceptions in InheritanceChecker
Don't use "type arguments" if there is only one
Fix broken test: type parameter bound resolution
Rename 3-inheritance to 3-linearisation
Add tests for super-type checks
Add some tests for top-level type checking