Avoid building as root with `sudo make install`

When running `sudo make install`, we only want to run the actual install
as root, the building of the documentation and the distribution folder
should happen as the non-root user.

Related to #13728.
Add help diagnostic messages

This adds ‘help’ diagnostic messages to rustc. This is used for anything that
provides help to the user, particularly the `--explain` messages that were
previously integrated into the relevant error message.
Refactor `Vec::map_in_place` to move code out of `PartialVec`

Additionally, support zero-sized types.
Add deallocate calls to the realloc-16687.rs test.

Fix #17303.
Remove unnecessary code from an example
Use 'dev' for the release channel and version suffix when building from source

This is more consistent with how the other channels work.
fix a misspelling in the configure script
Added bitflag toggling.
Fix Iterator::fuse example

The for loop would *always* exaust the iterator previously, which seems
like behavior that was not intended. It's still kind of a weird
function.
librustc: Eliminate the `ref` syntax for unboxed closure capture clauses
in favor of `move`.

This breaks code that used `move` as an identifier, because it is now a
keyword. Change such identifiers to not use the keyword `move`.
Additionally, this breaks code that was counting on by-value or
by-reference capture semantics for unboxed closures (behind the feature
gate). Change `ref |:|` to `|:|` and `|:|` to `move |:|`.

Part of RFC #63; part of issue #12831.

[breaking-change]
Fix `SliceMut` documentation

The syntax sugar is `[mut from..to]` not `[from..to]`
rustc: Turn off split stacks on Windows
Disable runtime split stack support on Windows
Add test for #13259. Closes #13259 and #14742
Remove windows TCB hack from rustdoc
tiny linguistic correction in docs: s/its'/its/

See e.g.: http://dictionary.reference.com/browse/its
dist: Make Windows installer modify system %PATH%

Modify the system %PATH% environment variable instead of the current
user's %PATH% environment. The current user will be an admin user
that may not be the same user who originally started the installer.
Closes #17570.
Hide the quote_*! macros when the feature gate is off

This makes it easier to experiment with improved quasiquoting as an ordinary
plugin library.

The list of quote macros in feature_gate.rs was already out of sync;
this commit also prevents that problem in the future.
Correct stability marker in string.rs
Rename raw::Box to raw::GcBox

Fixes #17470.