Gate literal box expressions in addition to types

Closes #10920
Use libdir() instead of hard coded string. Fixes #10903
Update documentation for new `pkgid` attribute.
Remove dependency on gnustl_shared for android builds
librustdoc: use pkgid instead of link meta
extra::test: handle slow benchmarks more gracefully.

This makes sure we always run benchmarks even if they are predicted to
take a long time, so that we have some non-zero time to display
(although the error bars may be huge for particularly slow benchmarks).

Fixes #9532.
Check more live Path nodes in dead-code pass
Dead-code pass now marks and warns foreign items
Suppress warnings in run-pass tests
auto merge of #10938 : jhasse/rust/patch-rustpkg, r=alexcrichton

rustpkg assumes library files to be in a directory called `lib`, but on Windows they are instead in the `bin` directory. This patch changes nothing on Unix system, since `libdir()` returns `"lib"` there.
auto merge of #10944 : metajack/rust/pkgid-docs, r=cmr
auto merge of #10949 : fabricedesre/rust/no-gnustl, r=cmr
Fix #10754 - `std::run` functions fail after io_error

The problem was that std::run::Process::new() was unwrap()ing the result
of std::io::process::Process::new(), which returns None in the case
where the io_error condition is raised to signal failure to start the
process.

Have std::run::Process::new() similarly return an Option<run::Process>
to reflect the fact that a subprocess might have failed to start. Update
utility functions run::process_status() and run::process_output() to
return Option<ProcessExit> and Option<ProcessOutput>, respectively.

Various parts of librustc and librustpkg needed to be updated to reflect
these API changes.

closes #10754
auto merge of #10870 : ktt3ja/rust/issue-10865, r=alexcrichton

Fix #10865 and #10939.
auto merge of #10936 : cadencemarseille/rust/issue-10754-std-run-unwrap-on-None, r=alexcrichton

The problem was that std::run::Process::new() was unwrap()ing the result
of std::io::process::Process::new(), which returns None in the case
where the io_error condition is raised to signal failure to start the
process.

Have std::run::Process::new() similarly return an Option\<run::Process\>
to reflect the fact that a subprocess might have failed to start. Update
utility functions run::process_status() and run::process_output() to
return Option\<ProcessExit\> and Option\<ProcessOutput\>, respectively.

Various parts of librustc and librustpkg needed to be updated to reflect
these API changes.

closes #10754
auto merge of #10952 : huonw/rust/1ms-bench, r=cmr

This makes sure we always run benchmarks even if they are predicted to
take a long time, so that we have some non-zero time to display
(although the error bars may be huge for particularly slow benchmarks).

Fixes #9532.
Add "proc" as keyword to emacs mode
Remove tabs from configure script
Use clang instead of gcc on OS X 10.9

Apple replaced gcc with clang, but kept around a stub gcc to call
clang. This adds a check in `configure` to detect when gcc is
really clang, and switch to using clang in this situation.

Closes #10811.
librustpkg: don't clobber the crate attributes for the pkgid