Document std::ops.

Added an overview with a 'real' example, as well as toy implementations of all of
the traits.

Closes #9356.
Package system runtime dependencies into snapshots
Package system runtime dependencies into Windows distribution.
Correctly report errors for ambiguous default methods
rustdoc: Document what's going on throughout

This addresses some of @huonw's in #9691 about the startling lack of
documentation guiding one throughout the innards of rustdoc::html
Rewrite lint passes with less visitor cruft

This purges about 500 lines of visitor cruft from lint passes. All lints are
handled in a much more sane way at this point. The other huge bonus of this
commit is that there are no more @-boxes in the lint passes, fixing the 500MB
memory regression seen when the lint passes were refactored.

Closes #8589
auto merge of #9686 : alexcrichton/rust/lint, r=thestinger

This purges about 500 lines of visitor cruft from lint passes. All lints are
handled in a much more sane way at this point. The other huge bonus of this
commit is that there are no more @-boxes in the lint passes, fixing the 500MB
memory regression seen when the lint passes were refactored.

Closes #8589
Update std::ops docs as per feedback

from @chris-morgan
auto merge of #9522 : steveklabnik/rust/doc_std_opts, r=alexcrichton

Added an overview with a 'real' example, as well as toy implementations of all of
the traits.

Closes #9356.
extra: remove unnecessary second level functions

do_strptime() and do_strftime()
auto merge of #9705 : luisbg/rust/strptime, r=alexcrichton

do_strptime() and do_strftime()

I don't see any reason why src/libextra/time.rs has two functions that just call a very similar function, which only use is to be called by them.
strftime() just calls do_strftime()
strptime() just calls do_strptime()
and the do_functions aren't called by anyone else.
the parameters and return types are exactly the same in both levels, so I just have removed the second layer.

Unless there is a need for that second level.
auto merge of #9711 : sanxiyn/rust/ambiguous-default-method, r=alexcrichton

Fix #8808.
Remove specific errors for very old obsolete syntax

Replaces existing tests for removed obsolete-syntax errors with tests
for the resulting regular errors, adds a test for each of the removed
parser errors to make sure that obsolete forms don't start working
again, removes some obsolete/superfluous tests that were now failing.

Deletes some amount of dead code in the parser, also includes some small
changes to parser error messages to accomodate new tests.
auto merge of #9712 : ben0x539/rust/obsolete-syntax, r=pcwalton

Mostly as per a short discussion on irc. (@cmr)

    08:46 < cmr> so I'm thinking
    Obsolete{Let,With,FieldTerminator,ClassTraits,ModeInFnType,MoveInit,BinaryMove,I
    mplSyntax,MutOwnedPointer,MutVector,RecordType,RecordPattern,PostFnTySigil,Newty
    pEnum,Mode,ImplicitSelf,LifetimeNotation,Purity,StaticMethod,ConstItem,FixedLeng
    thVectorType}
    08:46 < cmr> Those are the ones that are older than 0.6
    08:46 < cmr> (at least!)

This PR removes these specific "obsolete syntax"/"suggestion for change" errors and just lets the parser run into regular parser errors for long-invalid syntax. I also removed `ObsoletePrivSection` which apparently dates further back than cmr or I could recall and `ObsoleteUnenforcedBound` which seemed unused. Also I removed `ObsoleteNewtypeEnum`.
auto merge of #9704 : alexcrichton/rust/rustdoc-comments, r=huonw

This addresses some of @huonw's in #9691 about the startling lack of
documentation guiding one throughout the innards of rustdoc::html

r? @huonw
auto merge of #9662 : vadimcn/rust/package-runtime-deps, r=brson

This will make sure that system files that rust binaries depend on in Windows get packaged into stage0 snapshots as well as into Windows installer.
Currently these include `libgcc_s_dw2-1.dll`, `libstdc++-6.dll` and `libpthread-2.dll`.   Note that the latter will need to be changed to `pthreadGC2.dll` once Windows build bots get upgraded to mingw 4.0

Closes #9252
Closes #5878
Closes #9218
Closes #5712
fix some examples in std::rand::Rng
rustc: Use static strings in a few literals

Avoid allocating extra copies of strings by using "" instead of ~"" for
the debug options list and for the `time` function. This is a small
change, but it is in a path that's always executed.
auto merge of #9715 : flo-l/rust/doc-fixes, r=alexcrichton
Register new snapshots

Now that #9662 is merged, we should be much more easily bootstrappable on
windows now.