Making test suite files all meet a standard interface.

All test suite files now export one identifier with the name 'tests'.
This allows for them to be treated the same across the test
infrastructure.
Make test files have mains that run the test case defined in them.
Make expanded syntax visible in test failures to aid debugging.
Make parse type and type annotation tests run at the right phase.