Improve the error messages for mismatched numbers of type params.
Fix the handling of type params on generic static methods. Closes #7571.
Fix another default method ICE in type_use. Closes #7675.

Also reworks a bunch of type_use to make things work for default
static methods soon.
Clean up Repr impls a bit so we can add generic impls for @ and ~.
Normalize self types for monomorphization.
Get static default methods working in the non-cross-crate case. Work on #7569.
Get cross crate static default methods working. Closes #7569.
Drop a now unnecessary argument from maybe_instantiate_inline.
Take default methods out from behind the flag.
auto merge of #7725 : msullivan/rust/default-methods, r=pcwalton

r?