Class & instance promotion complete. Fixes #41.

Infix declaration does not work, but that's due to a bug in GHC
(#9066). Also, the type substitution code had to stay around,
due to a different bug in GHC (#9063).