Fix the output of negative duration

Technically speaking, negative duration is not valid ISO 8601, but we need to
print it anyway. If `d` is a positive duration with the output `xxxxxxx`, then
the expected output of negative `-d` value is `-xxxxxxx`. I.e. the idea is to
print negative durations as positive with a leading minus sign.

Closes #18181.
Add ptr::RawMutPtr to prelude

Closes https://github.com/rust-lang/rust/issues/18196
Guide: Fix use of sqrt() in example
Remove unnecessary clone in ascii.rs
Update code with new lint names
Turn on warning for use of deprecated lint names
Add regression test for lint deprecation
Describe doc attribute in the reference

FIxes #7963.
Remove ty_bot from the type system

We now instead use a fresh variable for expressions that diverge.
Update tests with the new error messages
Long lines
Address review comments
auto merge of #17851 : brson/rust/rustup, r=alexcrichton

Just to have it somewhere to point to. Updating it will not
automatically update the one on static.rust-lang.org.
Guide: Iterators: …are always lazy + rewrap as per request
update keyword list

Fixes #17969
Fix example for BufferedReader

Fixes #18197
auto merge of #18291 : japaric/rust/dstify, r=aturon

This PR changes the signature of several methods from `foo(self, ...)` to `foo(&self, ...)`/`foo(&mut self, ...)`, but there is no breakage of the usage of these methods due to the autoref nature of `method.call()`s. This PR also removes the lifetime parameter from some traits (`Trait<'a>` -> `Trait`). These changes break any use of the extension traits for generic programming, but those traits are not meant to be used for generic programming in the first place. In the whole rust distribution there was only one misuse of a extension trait as a bound, which got corrected (the bound was unnecessary and got removed) as part of this PR.

I've kept the commits as small and self-contained as possible for reviewing sake, but I can squash them when the review is over.

See this [table] to get an idea of what's left to be done. I've already DSTified [`Show`][show] and I'm working on `Hash`, but bootstrapping those changes seem to require a more recent snapshot (#18259 does the trick)

r? @aturon 
cc #16918 

[show]: https://github.com/japaric/rust/commits/show
[table]: https://docs.google.com/spreadsheets/d/1MZ_iSNuzsoqeS-mtLXnj9m0hBYaH5jI8k9G_Ud8FT5g/edit?usp=sharing
rephrase some comments according to remarks in the PR
auto merge of #17603 : jakub-/rust/ty_bot, r=nikomatsakis

We now instead use a fresh variable for expressions that diverge.

Closes #14973.
Closes #13847.

[Work in progress]

cc @nikomatsakis
reference: note the existence of UnsafeCell