auto merge of #13498 : johnsoft/rust/fix-transmute-fn-names, r=alexcrichton

Regions were renamed to lifetimes a while back, so these functions should probably be renamed as well.
Make Vec::clone and slice::to_owned failure-safe
Remove RUST_LOG="::help" from the docs

This feature is no longer present in the current version, it was removed along
with the crate map.
dist: Make Windows installer uninstall first. Closes #9563

This will remove existing files before installing new ones. Note
that I took some code with no license from stackoverflow, as
indicated in comments.
Change AUTHORS section in the man pages

The man pages no longer contain Graydon Hoare as the project lead.

Fix #13509.
Update GitHub's Rust projects page.
mk: Change windows to install from stage2

In the past, windows was installed from stage3 to guarantee convergence between
the host and target artifacts, but syntax extensions on all platforms are
currently relying on convergence, so special casing this one platform has become
less relevant over time.

This will also have the added benefit of dealing with #13474 and #13491. These
issues will be closed after next next nightly is confirmed to fix them.
liburl doc: insert missing hyphen
rustdoc: Better sorting criteria for searching.

This essentially rewrites the sorting algorithm, which relied on
the implementation-defined handling of non-consistent sorting function
(cf. ECMA-262 5th edition, section 15.4.4.11)
and was also a bit inefficient.

The new criteria expands the prior criteria while adding these ones:

- The current crate is always preferred over other crates.
  (Closes #13178)
- An item with a description is preferred over one without it,
  if item names match. This is a heuristic assuming that
  the documented item is more likely to be relevant.
- An item with no literal occurrence of search query is handled correctly.
std: Impl Deref/DerefMut for a borrowed task
native: Be more stringent about pattern matching

Trying to avoid a wildcard where possible.
native: Fix a race in select()

During selection, libnative would erroneously re-acquire ownership of a task
when a separate thread still had ownership of the task. The loop in select()
was rewritten to acknowledge this race and instead block waiting to re-acquire
ownership rather than plowing through.

Closes #13494
Use the unsigned integer types for bitwise intrinsics.

Exposing ctpop, ctlz, cttz and bswap as taking signed i8/i16/... is just
exposing the internal LLVM names pointlessly (LLVM doesn't have "signed
integers" or "unsigned integers", it just has sized integer types
with (un)signed *operations*).

These operations are semantically working with raw bytes, which the
unsigned types model better.
Add a default impl for Set::is_superset

I also deleted a bunch of documentation that was copy/pasted from the
trait definition.
More default impl and docs removal in treemap
workcache: Don't assume gcc exists on all platforms

FreeBSD has recently moved to clang by default, and no longer ship gcc. Instead
use "cc" on unix platforms (the default compiler) and "gcc" on windows.
std: Remove pub use globs
test: Un-ignore smallest-hello-world.rs

Rebased through the ages to bring the test up to date.

Closes #8538
std: Un-ignore some float tests on windows

These were fixed in the upgrade from mingw32 to mingw64.

Closes #8663
green: Add a helper macro for booting libgreen

This one-liner should help booting libgreen with librustuv without having to
worry about all the fiddly bits of argc/argv and whatnot.