librustc/libstd: No longer pass crate_map to start.
libstd/librustc: Make the crate_map a weak symbol that libstd links against.
tests: Remove crate_map from start.
Fix unresolved symbol error for the crate_map in libstd on os x.
auto merge of #9438 : brson/rust/relnotes, r=thestinger
Add rustpkg tutorial to the official tutorials.

Three things in this commit:

1. Actually build the rustpkg tutorial. I didn't know I needed this when
   I first wrote it.
2. Link to it rather than the manual from the
   tutorial.
3. Update the headers: most of them were one level too deeply
   nested.
Find the cratemap at runtime on windows.
auto merge of #9301 : luqmana/rust/ncm, r=brson

Get rid of the crate_map arg!

r? @brson
visit::Visitor refactor: replace (&mut BorrowckVisitor, @BorrowckCtxt) with &mut BorrowckCtxt.
Ignore some rustpkg tests for now

They're blocking a new snapshot and @catamorphism is on it.
auto merge of #9444 : alexcrichton/rust/ignore-some-tests, r=thestinger

They're blocking a new snapshot and @catamorphism is on it.
librustc: Change fold to use traits instead of `@fn`.
librustc: Remove garbage collected functions from front/{config,test} and metadata/{tydecode,tyencode}
librustc: Port the pretty printer annotation infrastructure to use traits instead of garbage collected functions.
librustc: Make the fall-through case in match not use garbage collected functions
librustc: Don't use garbage-collected closures to store cleanups.
librustc: Remove garbage-collected functions from util/common.
librustc: Remove the remaining direct uses of `@fn` from librustc.
librustc: Change the ID visitor to use traits instead of garbage-collected functions.
librustpkg: Fix diagnostic invocation syntax in librustdoc, librusti, and librustpkg.