Looser restrictions on what can be captured in unbounded traits.
Make closure contents call out to trait_contents.
Looser restrictions on what can be captured in unbounded heap closures.
Change expected error message in kindchk compile-fail tests.
Fix pretty-printing for bounded closures. Close #7333.
rt: Release big stacks immediately after use to avoid holding on to them through yields

This avoids the following pathological scenario that makes threadring OOM:

1) task calls C using fast_ffi, borrowing a big stack from the scheduler.
2) task returns from C and places the big stack on the task-local stack segment list
3) task calls further Rust functions that require growing the stack, and for this reuses the big stack
4) task yields, failing to return the big stack to the scheduler.
5) repeat 500+ times and OOM

Conflicts:
	src/rt/rust_task.cpp
Add a run-pass test for existential traits in ARCs.
Fix old .each usage
Fix run-pass/match-borrowed_str.rs Fixes #7306
treemap: remove .each in favor of .iter().advance

Both extra::treemap::TreeMap and extra::treemap::TreeSet have
corresponding iterators TreeMapIterator and TreeSetIterator.
Unfortunately, the tests and extra::serialize use the older .each.
Update all the dependent code, and remove .each.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Whitespace
last bit of whitespace
vec: remove superseded reverse_part function

`reverse(xs.mut_slice(a, b))` replaces `reverse_part(xs, a, b)`
std::rt: Some cleanup
auto merge of #7354 : bblum/rust/trait-bounds, r=pcwalton

r? @nikomatsakis
Update version number to 0.7-pre.

There's a reason we didn't update this after 0.6 but I don't know
what it is. Let's see what breaks.
auto merge of #7111 : brson/rust/stack, r=brson

... through yields

This avoids the following pathological scenario that makes threadring OOM:

1) task calls C using fast_ffi, borrowing a big stack from the scheduler.
2) task returns from C and places the big stack on the task-local stack segment list
3) task calls further Rust functions that require growing the stack, and for this reuses the big stack
4) task yields, failing to return the big stack to the scheduler.
5) repeat 500+ times and OOM

(reopening after incoming fallout. *do not r+*. broken)
Fix deque tests
auto merge of #7420 : mozilla/rust/rollup, r=thestinger
auto merge of #7361 : brson/rust/incoming, r=brson