doc: TreeSet methods and main example.
doc: TreeMap methods with examples.

Small corrections for TreeSet examples.
doc: Main example for TreeMap.
doc: Small rewording.
Implement Hash for tuples of up to arity 12. Also change the style to be consistent with core::tuple
Make test expansion induce less reachability

We previously reexported entire modules, which caused private things to
become reachable and trip the dead code and private items in public API
lints.

Closes #15912
Implement PartialOrd for TrieMap and TrieSet
Implement PartialOrd for SmallIntMap
Implement PartialOrd for Bitv and BitvSet
Implement Ord for TrieMap/TrieSet/SmallIntMap/Bitv/BitvSet
rustdoc: improvements to stability dashboard

* Makes dashboard width dynamic.
* Colors unmarked items.
* Gives overall crate percentages.
Fix typo in getopts::getopts documentation, return Matches instead of Opt
Fix some of the documentation std::io::fs.
auto merge of #16032 : treeman/rust/doc-treecollection, r=alexcrichton
auto merge of #16033 : nham/rust/hash_tuple_impl, r=alexcrichton

Previously the implementation of Hash was limited to tuples of up to arity 8. This increases it to tuples of up to arity 12. 

Also, the implementation macro for `Hash` used to expand to something like this:

    impl Hash for (a7,)
    impl Hash for (a6, a7)
    impl Hash for (a5, a6, a7)
    ...

This style is inconsistent with the implementations in core::tuple, which look like this:

    impl Trait for (A,)
    impl Trait for (A, B)
    impl Trait for (A, B, C)
    ...

This is perhaps a minor point, but it does mean the documentation pages are inconsistent. Compare the tuple implementations in the documentation for [Hash](http://static.rust-lang.org/doc/master/std/hash/trait.Hash.html) and [PartialOrd](http://static.rust-lang.org/doc/master/core/cmp/trait.PartialOrd.html)

This changes the Hash implementation to be consistent with `core::tuple`.
auto merge of #16034 : sfackler/rust/test-reexport-fix, r=alexcrichton

We previously reexported entire modules, which caused private things to
become reachable and trip the dead code and private items in public API
lints.

Closes #15912
auto merge of #16038 : nham/rust/collections_partialord, r=alexcrichton

cc #15294
auto merge of #16049 : aturon/rust/stability-dashboard-improvements, r=alexcrichton

* Makes dashboard width dynamic.
* Colors unmarked items.
* Gives overall crate percentages.
auto merge of #16050 : jxs/rust/master, r=alexcrichton

getopts returns Matches not Opt
auto merge of #16052 : nham/rust/fs_docs, r=brson

Some of the fixes include:

 - fixing mismatch between the documentation and the function parameters. (i.e. documentation references `path` parameter, but it's actually called `from`, or vice versa)
 - A few Error sections were missing an "if" on the middle clause. For example, they used to be: "This function will return an error if [Thing], [Another Thing], or if [Yet Another Thing]." I added an "if" so it becomes "This function will return an error if [Thing], if [Another Thing], or if [Yet Another Thing]"
 - The error sections previously started off with 3 different phrases: 

     - "This function will return an error if ..."
     - "Will return an error if ..."
     - "This call will return an error if ..."

  I've standardized on the first phrase.