rustc: Disable rpath settings by default

This commit disables rustc's emission of rpath attributes into dynamic libraries
and executables by default. The functionality is still preserved, but it must
now be manually enabled via a `-C rpath` flag.

This involved a few changes to the local build system:

* --disable-rpath is now the default configure option
* Makefiles now prefer our own LD_LIBRARY_PATH over the user's LD_LIBRARY_PATH
  in order to support building rust with rust already installed.
* The compiletest program was taught to correctly pass through the aux dir as a
  component of LD_LIBRARY_PATH in more situations.

The major impact of this change is that neither rustdoc nor rustc will work
out-of-the-box in all situations because they are dynamically linked. It must be
arranged to ensure that the libraries of a rust installation are part of the
LD_LIBRARY_PATH. The default installation paths for all platforms ensure this,
but if an installation is in a nonstandard location, then configuration may be
necessary.

Additionally, for all developers of rustc, it will no longer be possible to run
$target/stageN/bin/rustc out-of-the-box. The old behavior can be regained
through the `--enable-rpath` option to the configure script.

This change brings linux/mac installations in line with windows installations
where rpath is not possible.

Closes #11747
[breaking-change]
Register new snapshots

This change starts denying `*T` in the parser. All code using `*T` should ensure
that the FFI call does indeed take `const T*` on the other side before renaming
the type to `*const T`.

Otherwise, all code can rename `*T` to `*const T`.

[breaking-change]
README: Add instructions for building on windows.
rustc: update the unnecessary parens lint for struct literals.

Things like `match X { x: 1 } { ... }` now need to be written with
parentheses, so the lint should avoid warning in cases like that.
Add test for #11677

This code used to cause an ICE

Closes #11677
auto merge of #15213 : Sawyer47/rust/issue-11677, r=huonw

This code used to cause an ICE

Closes #11677
auto merge of #15212 : huonw/rust/struct-paren-lint, r=alexcrichton

rustc: update the unnecessary parens lint for struct literals.

Things like `match X { x: 1 } { ... }` now need to be written with
parentheses, so the lint should avoid warning in cases like that.
Updated release notes for 0.11.0
Update AUTHORS.txt
Update to 0.11.0
librustc: Schedule cleanups properly when coercing to a &Trait.
auto merge of #15226 : luqmana/rust/abol, r=pcwalton

This was causing a ton of leaks in macro expansion.
working on hygiene
make fold_attribute part of Folder trait
replaced ignore-pretty with no-pretty-expanded

Per @acrichto's suggestion, use the more narrowly focused exclusion.
get rid of needless wrapper function
WIP match hygiene, compiles
cleanup and shiny new more-functional interface
remove unnecessary abstraction
improve match test case to include guard