Added substring searching benchmarks.

test str::bench::bench_contains_bad_naive                   ... bench:      1309 ns/iter (+/- 36)
test str::bench::bench_contains_equal                       ... bench:       137 ns/iter (+/- 2)
test str::bench::bench_contains_short_long                  ... bench:      5473 ns/iter (+/- 14)
test str::bench::bench_contains_short_short                 ... bench:        57 ns/iter (+/- 6)
Switched to the two-way algorithm for string searching

test str::bench::bench_contains_bad_naive                   ... bench:       300 ns/iter (+/- 12)     from 1309 ns/iter (+/- 36)
test str::bench::bench_contains_equal                       ... bench:       154 ns/iter (+/- 7)      from  137 ns/iter (+/- 2)
test str::bench::bench_contains_short_long                  ... bench:      2998 ns/iter (+/- 74)     from 5473 ns/iter (+/- 14)
test str::bench::bench_contains_short_short                 ... bench:        65 ns/iter (+/- 2)      from   57 ns/iter (+/- 6)
debuginfo: Represent SIMD types as tuple structs instead of as fixed-sized arrays
rustc: Fix shadowing private import with reexport

The reexport didn't switch the privacy, so the reexport was actually considered
private, erroneously failing to resolve imports later on.

Closes #14082
guide-pointers: minor nits
rustc: Stop calling error! in resolve

These are taken care of with compiler errors later on, no need to spam with
extra unformatted information unconditionally.

Closes #14225
flate: add documentation
arena: add docs for Arena
num: expand crate documentation + add example
term: add docs and windows support

Closes #2807
syntax: update for libterm fallout
time: crate description
workcache: add crate doc block
test: update for term fallout
Add WinConsole docs
Update for master
Update for Box
Add a bang
Flush before applying console attributes
Fix example