Don't redirect output in rustpkg test

Previously, if tests failed, you'd only get stderr which isn't very
useful, especially if the failure didn't happen directly in a test
function (e.g None.unwrap()).
Put a newline after each logging message
auto merge of #9603 : sfackler/rust/rustpkg-test, r=catamorphism

Previously, if tests failed, you'd only get stderr which isn't very
useful, especially if the failure didn't happen directly in a test
function (e.g None.unwrap()).
Require &Crate instead of @Crate

This help enable some later refactorings.
Remove all usage of @ast::Crate
auto merge of #9609 : alexcrichton/rust/fix-logging-newline, r=catamorphism

Forgot to do this when I was refactoring logging :(
auto merge of #9612 : alexcrichton/rust/rc-crate2, r=huonw

This patch exposes actual ownership of an `ast::Crate` structure so it's not implicitly copied and reference counted via `@`.

The main purpose for this patch was to get rid of the massive spike in memory during the start of the compiler (this can be seen on isrustfastyet). The reason that this spike exists is that during `phase_2` we're creating many copies of the crate by folding. Because these are reference counted, all instances of the old crates aren't dropped until the end of the function, which is why so much memory is accumulated.

This patch exposes true ownership of the crate, meaning that it will be destroyed ASAP when requested. There are no code changes except for dealing with actual ownership of the crate. The large spike is then avoided: http://i.imgur.com/IO3NENy.png

This shouldn't help our overall memory usage (that still is the highest at the end), but if we ever manage to bring that down it should help us not have a 1GB spike at the beginning of compilation.

(This was to un-stuck bors (hopefully).)
rustc: Convert lang_items hashmap to use &'static str keys
rustc: Convert lang_item to use an iterator
std::rt::uv::net: Enable tests on Win32

Closes #8815.
reduce heap allocations for MemoryMap
auto merge of #9614 : blake2-ppc/rust/lang-item-iter, r=alexcrichton

Cleanup in middle::lang_items

Use static string keys in the lang item hashmap, and convert
the traversal function to be an iterator.
auto merge of #9616 : klutzy/rust/win32-uv-test, r=huonw

Closes #8815.
auto merge of #9619 : toffaletti/rust/mmap, r=huonw
Expand tidy to prevent binaries from being checked

Closes #9621
trans: Change @ast::Expr -> &ast::Expr where possible
trans: Change @ast::Pat and @mut CrateContext in a few places

Use borrowed references in a few locations that were encountered when
working on other changes.
trans::build: Change @mut Block to &Block or &mut Block

Use &mut Block and &Block references where possible in the builder
functions in trans::build.

@mut Block remains in a few functions where I could not (not yet at
least) track down the runtime borrowck failures.
auto merge of #9630 : blake2-ppc/rust/de-at-smaller, r=huonw

This is mostly an incremental change, picking off some uses of
@- or @mut-pointers that can be replaced by references.

Almost all of the builder functions in trans::build are updated,
mostly using `&Block` arguments instead of `@mut Block`.
testsuite: Un-xfail unit-like-struct-drop-run on Windows

Closes #7999