Document for-loop in tutorial section on loops
 Explain container iteration in the loop tutorial

 As suggested by @pnkfelix in #12161, this extends the examples by a for-loop
 that iterates over a string as an example for container iteration.
Adds support for working with URL Paths

It is sometimes useful to parse just the path portion of a URL (path,
query string and fragment) rather than the entire URL.
mk: Clean up conditions for including dist.mk
mk: Add prepare.mk

This is a slightly more generic rewrite of install.mk. Currently
used for nothing, but we'll base all the binary distributables off it.
mk: Base the install target on prepare.mk
mk: Fix a dist bug

Fallout from moving doc/ to src/doc
mk: Base the windows dist target on prepare.mk
Implement Show for 1-12 element tuples
Delegate ToStr implementation to Show for tuples
doc: Reorganize the library index

Only single out std. Put everything else in a consistent list.
Merge ImmutableTuple* traits into their respective Tuple* trait
Ignore /build even if it’s a symlink.
Improve naming of tuple getters, and add mutable tuple getter

Renames the `n*` and `n*_ref` tuple getters to `val*` and `ref*` respectively, and adds `mut*` getters.
Remove CloneableTuple and ImmutableTuple traits

These are adequately covered by the Tuple2 trait.
auto merge of #12313 : bjz/rust/tuple, r=huonw

This renames the `n*` and `n*_ref` tuple getters to `val*` and `ref*` respectively, and adds `mut*` getters. It also removes the `CloneableTuple` and `ImmutableTuple` traits.
Remove Real trait and move methods into Float

This is part of the effort to simplify `std::num`, as tracked in issue #10387.
Minor documentation fixes in std::fmt

* Change '...your own time' => '...your own type'
* Fix typo in the Vector2D example
auto merge of #12312 : brson/rust/doc, r=alexcrichton

Only single out std. Put everything else in a consistent list.
auto merge of #12319 : SimonSapin/rust/build-symlink, r=alexcrichton