Visit type parameter in lifetime suggestion

Previously, Rebuilder did not visit type parameters when rebuilding
generics and path, so in some cases the suggestion turns out to be
erroneous.
Avoid injecting unfulfilled dependence in compiletest on libnative.
Two fixes to get `make check-stage1` working.

1. Fix a long-standing typo in the makefile: the relevant
   CTEST_NAME here is `rpass-full` (with a dash), not
   `rpass_full`.

2. The rpass-full tests depend on the complete set of target
   libraries.  Therefore, the rpass-full tests need to use
   the dependencies held in the CSREQ-prefixed variable, not
   the TLIBRUSTC_DEFAULT-prefixed variable.
Remove libc from std

These wrappers are bound to a specific libc, and they don't need to be part of
libstd.
Change how the readdir/opendir hack works
Fix fallout from std::libc separation
rustdoc: Fix hiding of private fields

The calculation for whether a field is public or private was tweaked in #13184,
but I forgot to update rustdoc.

Closes #13310
rustc: move the check_loop pass earlier.

This pass is purely AST based, and by running it earlier we emit more
useful error messages, e.g. type inference fails in the case of `let r =
break;` with few constraints on `r`, but its more useful to be told that
the `break` is outside a loop (rather than a type error) when it is.

Closes #13292.
Removed cmath and instrinsic wrapper.
Remove references to obsolete `do` keyword

Also add the new `proc` keyword to the documentation.
librustc: Improve error message for incompatible trait method signatures.
auto merge of #13330 : huonw/rust/loop-error, r=alexcrichton

rustc: move the check_loop pass earlier.

This pass is purely AST based, and by running it earlier we emit more
useful error messages, e.g. type inference fails in the case of 
`let r = break;` with few constraints on `r`, but it's more useful to be told that
the `break` is outside the loop (rather than a type error) when it is.

Closes #13292.
Make the fields of semver::Version public again.
auto merge of #13331 : pongad/rust/remove-wrapper, r=thestinger

Fixes #12713
auto merge of #13332 : mbrubeck/rust/doc-edit, r=huonw

Also add the new `proc` keyword to the documentation.
auto merge of #13333 : Ryman/rust/improve_incompatible_type_error, r=alexcrichton

This can be a frustrating error message, ideally we should print the signature mismatch, but hinting that it's a trait incompatibility helps tracking root cause. Also beefed up the testcases for this.

Ideally we would print the signature mismatch in the error helper?
auto merge of #13339 : mozilla-servo/rust/semver-pub, r=cmr
Fix an unnecessary use of `cast::transmute`

Wherever possible, more specialized variants of said functions should be used,
such as in this case `cast::transmute_mmut_unsafe`.
auto merge of #13343 : tbu-/rust/pr_smallfix, r=pcwalton

Fix an unnecessary use of `cast::transmute`

Wherever possible, more specialized variants of said functions should be used,
such as in this case `cast::transmute_mmut_unsafe`.
Fix android problems with newly fixed rpass-full variable definition.

First, documented the existing `CTEST_DISABLE_$(TEST_GROUP)` pattern
for conditionally disabling tests based on missing host features.

Added variant of above, `CTEST_DISABLE_NONSELFHOST_$(TEST_GROUP)`,
which is only queried in contexts where the target is not on the
CFG_HOST list (which I interpret as the list of targets that our host
can compatibly emulate; e.g. the example that i686 and x86_64 can in
theory run each others' tests).

Driveby fix: Remove redundant copy of
check-stage$(1)-T-$(2)-H-$(3)-$(4)-exec dependency declaration.