Improve handling of trait bounds on a trait in default methods.

This is work on #7460.
It does not properly handle certain cross crate situations,
because we don't properly export vtable resolution information.
Drop an unused field from param_substs.
Drop the impl_id field from fn_ctxt.
Add tests for some default method things.