In an instance declaration, omitted methods get a definition that
uses the default method. We used to generate source code and feed it
to the type checker. But tc199 shows that is a bad idea -- see
Note [Default methods in instances] in TcClassDcl.
So this patch refactors to insteadl all us to generate the
*post* typechecked code directly for default methods.