auto merge of #6876 : cmr/rust/from_elem_opts, r=Aatch

borrowck 1.85x speedup on libstd
auto merge of #6851 : alexcrichton/rust/bugfixes, r=pcwalton

Closes #5090 by using the excellent new generic deriving code

Promotes the unreachable code attribute to a lint attribute (instead of always being a warning)

Fixes some edge cases when creating hashmaps/hashsets and also when consuming them. (fixes #5998)
mk: test.mk modify to better support
etc: adb_run_wrapper added
compiletest: improve exit code handling with adb_run_wrapper
etc: adb_run_wrapper argument change
etc: adb_run_wrapper.sh - fix to clean test (not produce Text File Busy)
compiletest: runtest.rs cleanup
compiletest: runtest.rs tidy
compiletest: update for language change
Reexport static methods on structs & enums.
Fix a small typo in a comment.
Better optimization pipeline
auto merge of #6881 : Aatch/rust/new-passes-2, r=thestinger

This is a better pipeline, both faster-running and produces faster code.

For some reason the `mergefunc` pass screws over resolve. I have no idea why though.
add jemalloc to the runtime
integrate jemalloc into the build
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
test fixes