tutorial: Repair broken links
tutorial: Fix obsolete names
tutorial: Remove the sentence about mutable fields.
rustpkg: Clean up usage messages for install
rustpkg: Handle non-numeric versions; some cleanup

Package IDs can now be of the form a/b/c#FOO, where (if a/b/c is
a git repository) FOO is any tag in the repository. Non-numeric
tags only match against package IDs with the same tag, and aren't
compared linearly like numeric versions.

While I was at it, refactored the code that calls `git clone`,
and segregated build output properly for different packages.
rustpkg: Don't assume a non-numeric refspec is a tag

Just pass it directly to git, without prefixing it with tags/
docs: Talk about tags that aren't versions in the "Package identifiers" section
std: Rename Iterator adaptor types to drop the -Iterator suffix

Drop the "Iterator" suffix for the the structs in std::iterator.
Filter, Zip, Chain etc. are shorter type names for when iterator
pipelines need their types written out in full in return value types, so
it's easier to read and write. the iterator module already forms enough
namespace.
New naming convention for ast::{node_id, local_crate, crate_node_id, blk_check_mode, ty_field, ty_method}
auto merge of #7984 : gifnksm/rust/tutorial-links, r=bstrie
std: Implement Clone and DeepClone for extern "Rust" fn

Implement Clone and DeepClone for functions with 0 to 8 arguments.
auto merge of #8032 : catamorphism/rust/rustpkg-tags, r=graydon

r? @graydon    Package IDs can now be of the form a/b/c#FOO, where (if a/b/c is
    a git repository) FOO is any tag in the repository. Non-numeric
    tags only match against package IDs with the same tag, and aren't
    compared linearly like numeric versions.
    
 While I was at it, refactored the code that calls `git clone`,  and segregated build output properly for different packages.
mk: Fix NO_REBUILD so stdtest can be tested without re-bootstrapping. Closes #8101
mk: Rename CTEST_BENCH to TEST_BENCH

The CTEST prefix is specifically related to the compiletest driver
mk: Add NO_BENCH variable for turning off the --bench flag
Remove ChanOneHack/PortOneHack extra allocation
Optimize try_recv to not require the two context switches when data is available.
Adding an initial description to vec.rs.

Let's explain more of what this module is about, not just 'vectors.'
auto merge of #8109 : blake2-ppc/rust/extern-fn-clone, r=thestinger

Implement Clone and DeepClone for functions with 0 to 8 arguments.  `extern fn()` is implicitly copyable so it's simple, except there is no way to implement it generically over #n function arguments.

Allows deriving of Clone on structs containing `extern "Rust" fn`.
auto merge of #8090 : blake2-ppc/rust/iterator-adaptor-names, r=pcwalton

Drop the "Iterator" suffix for the the structs in std::iterator.
Filter, Zip, Chain etc. are shorter type names for when iterator
pipelines need their types written out in full in return value types, so
it's easier to read and write. the iterator module already forms enough
namespace.