std: Replace CloneableTuple with Tuple, which takes self by-val.

The old behaviour of `foo.n0()` is replaced by `foo.n0_ref().clone()`.
auto merge of #9428 : alexcrichton/rust/llvm-zlib-and-libffi, r=pnkfelix

This should help bring fewer dependencies in to the snapshots.

Closes #9397
std: Add an is_parent_of method to Path
rustpkg: Search for packages correctly when using the rust_path_hack

Previously, any package would match any other package ID when searching
using the rust_path_hack, so long as the directory had one or more crate
files in it. Now, rustpkg checks that the parent directory matches the
package ID.

Closes #9273
auto merge of #9493 : huonw/rust/move-tuples, r=thestinger

The old behaviour of `foo.n0()` is replaced by `foo.n0_ref().clone()`.
auto merge of #9498 : catamorphism/rust/rust-path-hack-fix, r=cmr,metajack

r? @metajack
rustdoc: Add sundown to src/rt/

This also starts compiling it in the same manner as linenoise, it's just bundled
with librustrt directly, and we export just a few symbols out of it.
rustdoc: Use sundown for markdown highlighting

This takes rendering times of documentation down from 30s to 0.5s. Kinda sad
that none of the parallelism is needed, but oh well!

Closes #7380
cc #3546
rustdoc: Change all code-blocks with a script

    find src -name '*.rs' | xargs sed -i '' 's/~~~.*{\.rust}/```rust/g'
    find src -name '*.rs' | xargs sed -i '' 's/ ~~~$/ ```/g'
    find src -name '*.rs' | xargs sed -i '' 's/^~~~$/ ```/g'
rustdoc: Enable various useful markdown extensions
rustdoc: Improve comment stripping

There is less implicit removal of various comment styles, and it also removes
extraneous stars occasionally found in docblock comments. It turns out that the
bug for getops was just a differently formatted block.

Closes #9425
Closes #9417
rustdoc: Add the ability to list all passes

In doing so, also remove the collapse-privacy pass because it's a little
over-zealous and may not be right 100% of the time (not used right now as well)
rustdoc: Emit purity to function dox for traits

Closes #3804
rustdoc: Implement stripping based on privacy

This will probably need to get tweaked once the privacy rules have been fully
agreed on, but for now this has all of the infrastructure necessary for
filtering out private items.

Closes #9410
rustdoc: Linkify all reexports.

This way each component of a reexport path is click-able to the destination that
it's referencing.
rustdoc: Start rendering variants (redirect to enum)

This allows reasonable behavior when an enum is clicked in an import.
rustdoc: Highlight function names

Closes #9460
rustdoc: Strip hidden docs by default.
rustdoc: Reduce ambiguity with clean::Type

The "Unresolved" variant could be completely removed becuase it turns out that
the interim state only very briefly lives.
rustdoc: Collapse before unindenting

Doesn't make much sense to unindent each line individually and *then* collapse
them all together.