trie: remove the Copy requirement
auto merge of #5245 : thestinger/rust/trie, r=graydon
add floating-point read/write to Reader/Writer
std: remove an unnecessary copy from workcache
rustdoc: Remove a unused variable warning
rustdoc: change paragraphs fn to take &str
core: convert vec::{head,head_opt} to return references
core: convert vec::{tail,tailn} to return references
core: convert vec::{init,initn} to return references
rustc: remove some copies
rustc: minor code cleanup
core: convert vec::{last,last_opt} to return references
auto merge of #5213 : erickt/rust/vec-ref, r=graydon

This patch series changes a handful of vec functions to return references instead of copies. The one downside with making this change is that these functions aren't usable in a couple cases now due to some purity complaints. For example, this [change](https://github.com/erickt/rust/commit/c31e81a532fc07e89be33cadb5109d167aa725f4#L1R87). I couldn't figure out a way to get `last` to work on a `@mut ~[...]` type, so I ended up having to use `*crate_cache[crate_cache.len() - 1].metas`.
auto merge of #5235 : yjh0502/rust/io_float, r=graydon

When parsing bytes from a wire, there is a need to parse floating-point bytes to float values ([u8*4] to f32, [u8*8] to f64). This can be done via cast::transmute, but there is no way to do it safely.

It's quite common, so I think I't better to support it in core library.
Finish de-implicit-selifizng libcore
Fix bug in coherence that causes all cross-crate impls to be regarded as
inherent impls, not just those of the `impl Type` variety.
Make object types not implement associated trait.  Fixes #5087.
Remove trailing whitespace.
auto merge of #5251 : bstrie/rust/deimpselfcore2, r=pcwalton
auto merge of #5252 : nikomatsakis/rust/issue-5087-make-trait-not-impl-self, r=pcwalton

Two changes:

- The first fixes an inconsistency in coherence whereby extension methods were added to the inherent methods table, but only in cross-crate scenarios.  This causes some minor fallout in tests and so forth.  In one case (comm) I added inherent and trait methods so as to avoid the need to import traits like `GenericPort` just to use a port.

- The second makes objects not implement the associated trait, as discussed in #5087.

r? @pcwalton