Reexport static methods on structs & enums.
Fix a small typo in a comment.
librustc: Don't require `pub extern` to make extern functions visible
Remove all uses of `pub impl`. rs=style
auto merge of #6871 : pcwalton/rust/de-pub-impl, r=pcwalton
librustc: Have destructor run for unit-like structs.
auto merge of #6889 : luqmana/rust/unit-struct-drop, r=catamorphism

Fixes #6861
auto merge of #6880 : thomaslee/rust/issue-6745, r=catamorphism

This fixes #6745, which itself relates to #4202. Slightly ham-fisted -- feel particularly funny about using the typeck phase to gather the base -> impl mapping, and the separate code paths for traits vs. "real" bases feels like it could be avoided -- but it seems to work.

As always, open to suggestions if there's a better way to accomplish what I'm trying to do.

@catamorphism r?