Make base64::config fields public again

These got swept up in the great privatizing of 2013.
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
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 #10931 : sfackler/rust/base64-visibility, r=alexcrichton

These got swept up in the great privatizing of 2013.
auto merge of #10935 : sanxiyn/rust/fk-anon, r=pcwalton
auto merge of #10933 : TeXitoi/rust/shootout-fasta-rewrite, r=alexcrichton

improvements:
 - no managed box
 - no virtual calls
 - no useless copy
 - optimizations (bisect is slower, limit tests, BufferedWriter...)
 - pass shootout test
 - 10 times faster
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.