Fix #7740: gather_loans should not recur into the items of the block.

gather_loans does not need to recurse into any items declared in the
current block.  Rather than special-case `fk_item_fn` and `fk_method`,
just make the GatherLoanVisitor's visit_item method a no-op.

This indirectly implies that the example of #7740 is fixed:

    fn f() {
        static A: &'static char = &'A';
    }

Since we do not recurse into items, we no longer encounter `&'A'`.
Implement Stream automatically for Reader + Writer

This is consistent with the existing documentation but was not the
actual behaviour, which I've found to be rather a nuisance, actually.
Add an ``unreachable!()`` macro.

Rationale: having a function which fails means that the location of
failure which is output is that of the unreachable() function, rather
than the caller.

This is part of #8991 but is not all of it; current usage of
``std::util::unreachable()`` must remain so for the moment, until a new
snapshot is made; then I will remove that function entirely in favour of
using this macro.
regression test for #7740.
auto merge of #8993 : pnkfelix/rust/fsk-fix-7740-dont-recur-on-items-during-gather-loans-of-block, r=nikomatsakis

Fix #7740

r? anyone, @nikomatsakis especially.
Rename str::from_bytes to str::from_utf8, closes #8985
auto merge of #8984 : chris-morgan/rust/auto-stream-impl, r=huonw

This is consistent with the existing documentation but was not the
actual behaviour, which I've found to be rather a nuisance, actually.
auto merge of #8992 : chris-morgan/rust/unreachable-macro, r=brson

Rationale: having a function which fails means that the location of
failure which is output is that of the unreachable() function, rather
than the caller.

This is part of #8991 but is not all of it; current usage of
``std::util::unreachable()`` must remain so for the moment, until a new
snapshot is made; then I will remove that function entirely in favour of
using this macro.
auto merge of #8997 : fhahn/rust/issue_8985, r=catamorphism,brson

Patch for #8985
extra: Don't overcommit test tasks. Closes #8660

The new scheduler makes better use of threads than the old.
auto merge of #9004 : brson/rust/issue-8660, r=thestinger

The new scheduler makes better use of threads than the old.