auto merge of #6212 : brson/rust/xfail-flatpipes, r=brson

This is preventing a snapshot. Filed #6211
Add a brief description to show up in http://static.rust-lang.org/doc/core/index.html
Remove extra `#[cfg(stage0)]`
auto merge of #6204 : pcwalton/rust/uninhabited-enum-cast, r=catamorphism

r? @catamorphism
Add core::cmp::Equiv to prelude
auto merge of #6207 : sanxiyn/rust/tc-big, r=thestinger
FIX: Export to_bytes::ToBytes
Change borrow debugging so it is disabled by -O
Avoid needless creation of unique strings in fmt!()

Only the first portion has to be owned, as it acts as the buffer for the
constructed string. The remaining strings can be static.
auto merge of #6185 : gifnksm/rust/prelude-from_str, r=graydon

`core::prelude`  re-exports `core::to_str::ToStr`, but doesn't re-export `core::from_str::FromStr`.
That is inconsistent.
configure: CFG_ADB for adb added
mk: install.mk directory argument pass for install-runtime-target
compiletest: fix decision rule to run and cleanup
auto merge of #6046 : brson/rust/io, r=graydon

r? @pcwalton

Sorry this is so big, and sorry the first commit is just titled 'wip'.

Some interesting bits

* [LocalServices](https://github.com/brson/rust/commit/f9069baa70ea78117f2087fe6e359fb2ea0ae16a) - This is the set of runtime capabilities that *all* Rust code should expect access to, including the local heap, GC, logging, unwinding.
* [impl Reader, etc. for Option](https://github.com/brson/rust/commit/5fbb0949a53a6ac51c6d9b187ef4c464e52ae536) - Constructors like `File::open` return Option<FileStream>. This lets you write I/O code without ever unwrapping an option.

This series adds a lot of [documentation](https://github.com/brson/rust/blob/io/src/libcore/rt/io/mod.rs#L11) to `core::rt::io`.
Correct mismatch between the way that pattern ids and expression ids map to types (pattern ids map to the input type, expression ids map to the output type)
Make build products depend on their target directories.

This is an attempt to address Issue #3326 by adding [*order-only*][1]
prerequsites of each build product on the directory where it is to go.
It is important that the prerequisites be order-only, since the
timestamp on a parent directory is not relevant to whether a product
is out of date; the parent directory merely needs to exist.

(This use case of generating target directories was provided as an
[example][2] of how order-only prequisites are used.)

[1]: http://www.gnu.org/software/make/manual/html_node/Prerequisite-Types.html

[2]: http://www.kolpackov.net/pipermail/notes/2004-January/000001.html
auto merge of #6213 : kud1ing/rust/patch-1, r=graydon

...re/index.html
auto merge of #6216 : Sodel-the-Vociferous/rust/dralston-6146, r=graydon

cc #6146
lang: um, actually set locking bits! this code got lost.
librustc: Add argument to allow choosing "linker"