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.
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.
iterator: implement DoubleEndedIterator for FlatMap
iterator: implement size_hint() for FlatMap
std: Implement RandomAccessIterator for iterator adaptors

Implement RAI where possible for iterator adaptors such as Map,
Enumerate, Skip, Take, Zip, Cycle (all of the requiring that the adapted
iterator also implements RAI).
std: Tests for RandomAccessIterators
std: Remove RandomAccessIterator impl for VecMutIterator

The RandomAccessIterator implementation is not sound for the mutable vec
iterator, and makes it easy to duplicate &mut element pointers.