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 #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.
std: branchless bucket distance for hashmap
std: RawTable exposes a safe interface for HashMap
std: Split hashmap.rs into modules
std: Refine and document HashMap's code

* branchless `bucket.next()`
* updated documentation after interface changes
std: Fix overflow of HashMap's capacity