Add method .set_memory in vec::bytes for &[u8]

Add new trait vec::bytes::MutableByteVector which currently defines one
method .set_memory().
Add methods .move_from() and .copy_from() to vec

Add method .move_from() to MutableVector, which consumes another vector
and moves elements into the receiver.

Add new trait MutableCloneableVector with one method .copy_from(), which
clones elements from another vector into the receiver.
auto merge of #7382 : msullivan/rust/cleanup, r=bblum
Fix whitespace issues (thanks @jedestep!)
Work-around 'static bound requirement in io::with_bytes_reader (note: does not fix #5723, interface still unsafe)
Infer default static/Owned bounds for unbounded heap fns/traits (#7264)
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