extra: add tests for test::MetricMap, MetricDiff, ratchet.
extra: Add metrics functions to test.
compiletest: Add support for metrics and ratchet modes.
Add configure and make machinery to activate perf metrics and ratchets.
extra: reduce bench loop max time to 3s.
rustc: implement a `#[no_implicit_prelude]` attribute.

It disables the insertion of `use std::prelude::*;` into the top of
all the modules below the item on which it is placed (including that
item itself).
auto merge of #7826 : michaelwoerister/rust/end_of_spanned, r=cmr

This is the first of a series of refactorings to get rid of the `codemap::spanned<T>` struct (see this thread for more information: https://mail.mozilla.org/pipermail/rust-dev/2013-July/004798.html).

The changes in this PR should not change any semantics, just rename `ast::blk_` to `ast::blk` and add a span field to it. 95% of the changes were of the form `block.node.id` -> `block.id`. Only some transformations in `libsyntax::fold` where not entirely trivial.
auto merge of #7844 : huonw/rust/no-implicit-prelude, r=alexcrichton

It disables the insertion of `use std::prelude::*;` into the top of
all the modules below the item on which it is placed (including that
item itself).

(Similar to GHC's `-XNoImplicitPrelude`.)
make: turn off --bench when running under valgrind
extra: avoid possible divide-by-zero conditions test.
auto merge of #7829 : graydon/rust/codegen-compiletests, r=cmr

This should get us over the hump of activating basic ratcheting on codegen tests, at least. It also puts in place optional (disabled by default) ratcheting on all #[bench] tests, and records all metrics from them to harvestable .json files in any case.
librustc: Add a lint mode for unnecessary `copy` and remove a bunch of them.
librustc: Remove all uses of "copy".
librustc: Remove `copy` expressions from the language.
librustc: Remove all uses of the `Copy` bound.
test: Fix tests.
librustc: Change repeated vector expressions to use implicit copyability.
librustc: Remove the `Copy` bound from the language.
test: Fix tests.
libsyntax: Remove some multi-gigabyte clones that were preventing bootstrapping on Windows.