support for GNU configure syntax
Correct prefix / CFG_PREFIX work in configure / install.mk
support for GNU configure syntax corrections: patch from brson
Fixed incorrect usage of 'Borrowing'.
Prepared `std::sys` for removal, and made `begin_unwind` simpler

- `begin_unwind` is now generic over any `T: Any + Send`.
- Every value you fail with gets boxed as an `~Any`.
- Because of implementation details, `&'static str` and `~str` are still
  handled specially behind the scenes.
- Changed the big macro source string in libsyntax to a raw string
  literal, and enabled doc comments there.
syntax: Forbid non-string literals in meta items. #623
Make Writer::flush a no-op default method

Closes #9126
auto merge of #10120 : Kimundi/rust/remove_sys, r=alexcrichton

- `begin_unwind` and `fail!` is now generic over any `T: Any + Send`.
- Every value you fail with gets boxed as an `~Any`.
- Because of implementation issues, `&'static str` and `~str` are still
  handled specially behind the scenes.
- Changed the big macro source string in libsyntax to a raw string
  literal, and enabled doc comments there.
Forbid type parameters in inner statics

Closes #9186
auto merge of #10164 : brson/rust/configure, r=brson

Rebase of #9990
auto merge of #10166 : brson/rust/meta, r=alexcrichton

This doesn't fix #623 but works around it by limiting the grammar.
auto merge of #10180 : alexcrichton/rust/flush-default, r=brson

Closes #9126
Fix missing parenthesis in a previous substitution '$(PREFIX_ROOT)' to  '$(CFG_MANDIR' on 1c4a348b072a
auto merge of #10189 : alexcrichton/rust/inner-statics, r=cmr

Closes #9186
std::rand: correct an off-by-one in the Ziggurat code.

The code was using (in the notation of Doornik 2005) `f(x_{i+1}) -
f(x_{i+2})` rather than `f(x_i) - f(x_{i+1})`. This corrects that, and
removes the F_DIFF tables which caused this problem in the first place.

They `F_DIFF` tables are a micro-optimisation (in theory, they could
easily be a micro-pessimisation): that `if` gets hit about 1% of the
time for Exp/Normal, and the rest of the condition involves RNG calls
and a floating point `exp`, so it is unlikely that saving a single FP
subtraction will be very useful (especially as more tables means more
memory reads and higher cache pressure, as well as taking up space in
the binary (although only ~2k in this case)).

Closes #10084. Notably, unlike that issue suggests, this wasn't a
problem with the Exp tables. It affected Normal too, but since it is
symmetric, there was no bias in the mean (as the bias was equal on the
positive and negative sides and so cancelled out) but it was visible as
a variance slightly lower than it should be.
auto merge of #10193 : osaut/rust/Fix_install, r=huonw

Fix missing parentheses coming from a previous substitution '$(PREFIX_ROOT)' to  '$(CFG_MANDIR' on 1c4a348b072a
librustc: Implement `|A| -> B` syntax for closures and make bare `fn`
work
libstd: Remove mocks.
auto merge of #10167 : briantdawn/rust/master, r=cmr

To keep consistency with the word "borrowing" I suppose an alternate way to write this could be "Having an object borrow an immutable pointer freezes it and prevents mutation".
Make managed_boxes feature gate error less opinionated