rustdoc: Use privacy visibility for pruning

This commit ends rustdoc's approximation of privacy and instead uses the result
of the various compiler passes instead.

Closes #9827
rustdoc: Don't abort if there's nothing to document

Instead there's no index.html file emitted because there wasn't anything to
document.

Closes #9828
Require module documentation with missing_doc

Closes #9824
Build a few extra features into format! parsing

* Allow named parameters to specify width/precision
* Intepret the format string '0$' as "width is the 0th argument" instead of
  thinking the lone '0' was the sign-aware-zero-padding flag. To get both you'd
  need to put '00$' which makes more sense if you want both to happen.

Closes #9669
auto merge of #9833 : alexcrichton/rust/fixes, r=brson

Commits have all the fun details
Added comments to public functions in num.rs.

Copied existing comments from other files, and added comments to
functions that did not have existing comments available.