Gate literal box expressions in addition to types

Closes #10920
Remove fk_anon
rewrite of shootout-fasta.rs

improvements:
 - no managed box
 - no virtual calls
 - no useless copy
 - optimizations (bisect is slower, limit tests, BufferedWriter...)
 - pass shootout test
 - should be as fast as the best official test

Thanks to @cmr and @eddyb for their help!
Use libdir() instead of hard coded string. Fixes #10903
Add --dep-info to write Makefile-compatible dependency info.

When --dep-info is given, rustc will write out a `$input_base.d` file in the
output directory that contains Makefile compatible dependency information for
use with tools like make and ninja.
Update documentation for new `pkgid` attribute.
Add test for --dep-info.
auto merge of #10878 : vadimcn/rust/manifest, r=alexcrichton

In order to avoid UAC installer detection silliness...

Closes #10512
Remove dependency on gnustl_shared for android builds
librustdoc: use pkgid instead of link meta
auto merge of #10698 : metajack/rust/dep-info, r=alexcrichton

This isn't super useful for libraries yet without #10593.

Fixes #7633.
auto merge of #10895 : sfackler/rust/io-util, r=alexcrichton

This adds a bunch of useful Reader and Writer implementations. I'm not a
huge fan of the name `util` but I can't think of a better name and I
don't want to make `std::io` any longer than it already is.
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.
auto merge of #10908 : alexcrichton/rust/issue-10907, r=cmr

Turns out that one some platforms the ar/ranlib tool will die with an assertion
if the file being added doesn't actually have any symbols (or if it's just not
an object file presumably).

This functionality is already all exercised on the bots, it just turns out that
the bots don't have an ar tool which dies in this situation, so it's difficult
for me to add a test.

Closes #10907
auto merge of #10909 : sanxiyn/rust/coherence, r=alexcrichton

Now coherence checking is always done.
auto merge of #10912 : DiamondLovesYou/rust/master, r=alexcrichton
auto merge of #10913 : cmr/rust/rustdoc_man, r=huonw

Clarify that it's sundown, and that we don't support magic
doc: CSS changes + commit improved favicon
auto merge of #10916 : alexcrichton/rust/nounwind, r=pcwalton

When performing LTO, the rust compiler has an opportunity to completely strip
all landing pads in all dependent libraries. I've modified the LTO pass to
recognize the -Z no-landing-pads option when also running an LTO pass to flag
everything in LLVM as nothrow. I've verified that this prevents any and all
invoke instructions from being emitted.

I believe that this is one of our best options for moving forward with
accomodating use-cases where unwinding doesn't really make sense. This will
allow libraries to be built with landing pads by default but allow usage of them
in contexts where landing pads aren't necessary.
auto merge of #10849 : adridu59/rust/patch-css, r=alexcrichton

rustdoc:
- fix search-bar layout

doc: CSS:
- switch to native pandoc toc depth
- rm some dead code
- clamp width to be readable (we're not Wikipedia!)
- don't background-color titles, it's bloating
- make syntax-highlighting colors inline with rust-lang.org
- space indents

@alexcrichton