Make Rustdoc strip private fields

In addition, the renderer will add comments to structs and enums saying
that fields or variants have been stripped.
auto merge of #9843 : sfackler/rust/rustdoc-strip-private, r=alexcrichton

In addition, the renderer will add comments to structs and enums saying
that fields or variants have been stripped.

The comments are currently
```rust
// some fields stripped
// some variants stripped
```

I was thinking of changing that to "some private..." but passes other than
strip-private may strip fields or variants as well.

cc @alexcrichton
extra: implement Encodable/Decodable for Uuid
auto merge of #9844 : bytbox/rust/master, r=alexcrichton
Remove unused abi attributes.

They've been replaced by putting the name on the extern block.

  #[abi = "foo"]

goes to

  extern "foo" { }

Closes #9483.
std::vec: move documentation from impls to traits.

This means the text is visible in rustdoc.
Removing ccdecl

as per https://github.com/mozilla/rust/pull/9606#discussion_r6930872
auto merge of #9848 : huonw/rust/move-trait-doc, r=alexcrichton

This means the text is visible in rustdoc.
auto merge of #9606 : steveklabnik/rust/abi_removal, r=alexcrichton

They've been replaced by putting the name on the extern block.

  #[abi = "foo"]

goes to

  extern "foo" { }

Closes #9483.
Issue 7655: align the bench printouts so that the numbers tend to be aligned.

(scratching an itch.)

Rebased and updated.
Fixed bug: omitted field init from embedded struct literal in a test.
Fixed bug: int underflow during padding length calculation.
Only use padded test names to calculate the target padding size.
auto merge of #9823 : pnkfelix/rust/issue7655-bench-papercuts, r=alexcrichton

r? anyone.

You can see a bit more discussion on #7655.

This does not close any ticket; I am just scratching an itch.  Note in particular that I picked the value `{:>9} ns/iter` pretty much out of a hat.  :)
Refine privacy error messages to be more accurate

This stops labeling everything as "is private" when in fact the destination may
be public. Instead, the clause "is inaccessible" is used and the private part of
the flag is called out with a "is private" message.

Closes #9793
std::rt: Fix the set up of the main thread so that it doesn't try to steal work

This is causing really awful scheduler behavior where the main thread scheduler is
continually waking up, stealing work, discovering it can't actually run the work,
and sending it off to another scheduler.
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
add an `abort` intrinsic

This should be preferred to the libc `abort` function.
auto merge of #9860 : thestinger/rust/abort, r=Aatch

This should be preferred to calling the libc `abort` function.
fix bounds checking failure message

casting the `uint` to an `int` can result in printing high values as
negative intege
fix overflow on bounds checks

Closes #9020