Support pubment and augment methods

This required changes to the type and row
representation. I also got rid of the redundancy
between Row and Class types.

Some other bugs had to be quashed for these
changes, such as private methods not actually
being type-checked.
Add a contract to this helper
Fix tooltip.rkt to actually type-check

It turns out that TR wasn't type-checking private
methods correctly, which hid a bunch of type errors.
This also required fixing some types in the typed
GUI exports.

Some of these are genuine mistakes in DrRacket.
Add a unit test for ill-typed private methods
Don't print row variable for Object types
Start to convert universe classes
Add more racket/gui
Make sure inherit can work on pubments/augments
Some in-progress work on 2htdp conversion
Enforce method types as function types in parsing