std::rt: require known stack bounds for all tasks.

We just approximate with a 1 or 2 MB stack for native::start.
Register new snapshots
stop treating `Rc` cycles as unsafe
add a strong/weak reference counted pointer type
rename Strong -> Rc, replacing `rc` with `weak`
auto merge of #11055 : pcwalton/rust/placement-box, r=pcwalton

r? @nikomatsakis
rustc: Fix style of OutputType enum
rustc: Fix style of Lint enum
port over the old tests to the new `Rc`
auto merge of #10926 : thestinger/rust/rc, r=cmr
auto merge of #11360 : huonw/rust/stack_bounds, r=alexcrichton

We just approximate with a 2MB stack for native::start.
Update submodules to point to rust-lang repos
Add eof to MemReader and BufReader

It's easy to figure out and useful as a sanity check sometimes.
auto merge of #11418 : alexcrichton/rust/snapshots, r=cmr
Fix ICE on const of nullable enum with fields in null case.

That is, if you have an enum type that is subject to the nullable
pointer optimization, but the null variant has a nonzero number of
fields, and you declare a static whose value is of that variant, then
that used to be an ICE but this change fixes it.
auto merge of #11433 : brson/rust/minorstylefixes, r=alexcrichton
auto merge of #11436 : alexcrichton/rust/update-forks, r=huonw

We're not moving everything just yet, but it's good to start somewhere!
auto merge of #11437 : sfackler/rust/mem-eof, r=alexcrichton

It's easy to figure out and useful as a sanity check sometimes.
auto merge of #11441 : jld/rust/enum-nullable-const-null-with-fields, r=alexcrichton

That is, if you have an enum type that is subject to the nullable
pointer optimization, but the null variant has a nonzero number of
fields, and you declare a static whose value is of that variant, then
that used to be an ICE but this change fixes it.
"As long an iterator" => "As long as an iterator"