Re-do the 30 minute intro

This was originally on my blog, so it's incredibly informal. Let's make
it better.
rustdoc: Correctly name lifetimes in bounds

Fix #16518
rustdoc: Support unboxed fn sugar in bounds
rustdoc: Remove dummy UnknownBound variant
rustdoc: Include lifetimes in re-exported bounds

Fix #17818
Add example to doc for `slice::ImmutableSlice::binary_search`.

Fix #17817.
auto merge of #17798 : tomjakubowski/rust/rustdoc-fix-bounds, r=alexcrichton

This PR adds support in rustdoc for properly naming lifetimes in bounds, instead of just showing `'static` for everything. It also adds support for unboxed function sugar bounds, which were also previously rendered as `'static`.
Update COPYRIGHT to better reflect the current repo
auto merge of #17692 : brson/rust/copywut, r=alexcrichton
auto merge of #17820 : pnkfelix/rust/fsk-improve-binary_search-doc2, r=alexcrichton

Add example to doc for `slice::ImmutableSlice::binary_search`.

Fix #17817.
doc: Update output of `rustc --version`
Remove core::any::AnyPrivate

[Previously](https://github.com/rust-lang/rust/commit/e5da6a71a6a0b46dd3630fc8326e6d5906a1fde6),
the `Any` trait was split into a private portion and an (empty) public
portion, in order to hide the implementation strategy used for
downcasting. However, the [new
rules](https://github.com/rust-lang/rust/commit/e9ad12c0cae5c43ada6641c7dc840a0fbe5010a2)
for privacy forbid `AnyPrivate` from actually being private.

This patch thus reverts the introduction of `AnyPrivate`.

Although this is unlikely to break any real code, it removes a public
trait and is therefore a:

[breaking-change]
Revise DST test to not require duplicate errors.
Properly handle cfgs in rustdoc

Rustdoc would previously improperly handle key="value" style cfgs, which
are notably used for Cargo features.
Use slice syntax instead of slice_to, etc.
Put slicing syntax behind a feature gate.

[breaking-change]

If you are using slicing syntax you will need to add #![feature(slicing_syntax)] to your crate.
Rename slice::Slice
Rename slicing methods
Reinstate AsSlice impls for Option and Result
library-level docs for collections