Perform expansion before stripping/building a test harness.

This allows macros to create tests and benchmarks.
testsuite: Add two test cases (one xfailed)
test: Add two tests for issue #6272.
core: Make intrinsics::init unsafe

as per #3920
core: Make intrinsics::forget unsafe, too
testsuite: Test that init and forget are both unsafe
librustc: Fix ICE in core-text resulting from dynamic borrowing. rs=blocking-servo
Include static methods on traits in reexports.
Implement a new protocol for `for` loops that's much more easily composable
core: Use the new `for` protocol
std: Use the new `for` protocol
syntax: Use the new `for` protocol
rustc: Use the new `for` protocol
rustpkg: Use the new `for` protocol
Fix deriving(IterBytes) to use the new for-loop protocol
auto merge of #6366 : catamorphism/rust/issue-3920, r=catamorphism

r? @nikomatsakis as per #3920
auto merge of #6380 : pcwalton/rust/core-text-ice, r=pcwalton
Move flate from core to std
test: Use the new `for` protocol
Fix merge "failures"