Prepare for next release
Some more accurate annotations.
Keyword arguments are complete HMaps.

It is now an error to provide an undeclared keyword argument
to a function. We can now assume the rest param of a keyword fn is
a complete HMap when checking the fn body.
Turn Exceptions into subtype failures.
Minor syntax conventions.
Better error messages.
Test for protocols extending nil.
Test for undeclared protocols.
Some useful annotations. Unused as of now.