Cleaned up driver.rs
Fix up mingw32 case
Delete some binary files from the test suite
std: fix UnfoldrIterator cross-crate.
Remove h[123] border and increase their padding to better readability
Avoid quadratic growth of cleanup blocks

Currently, cleanup blocks are only reused when there are nested scopes, the
child scope's cleanup block will terminate with a jump to the parent
scope's cleanup block. But within a single scope, adding or revoking
any cleanup will force a fresh cleanup block. This means quadratic
growth with the number of allocations in a scope, because each
allocation needs a landing pad.

Instead of forcing a fresh cleanup block, we can keep a list chained
cleanup blocks that form a prefix of the currently required cleanups.
That way, the next cleanup block only has to handle newly added
cleanups. And by keeping the whole list instead of just the latest
block, we can also handle revocations more efficiently, by only
dropping those blocks that are no longer required, instead of all of
them.

Reduces the size of librustc by about 5% and the time required to build
it by about 10%.
auto merge of #7171 : bstrie/rust/delbin, r=thestinger
Partial fix for #7158: Save EDX in morestack on x86-32
correct ASM_COMMENTS Makefile option
Add copies to type params with Copy bound
Remove moves from *T and implement in another way
Make type parameters not implicitly copyable, even if they have the Copy bound.

Consider: T:Copy could be bound to ~T, which is not implicitly copyable.
Make it illegal to move from *T. This interacts poorly with moves-based-on-type,
since it creates moves that were not apparent. It also turns out to be not
widely used.
Correct tutorial tests
Correct docs
auto merge of #7167 : nikomatsakis/rust/ref-bindings-explicit-copy-in-generics, r=brson

Two changes:

1. Make type parameters move by default, even if they have a Copy bound. After all, they could be bound to `~T` or `~[]`. Also, this is a necessary step towards removing `copy` keyword and replacing with clone.

2. Make it illegal to move from `*T`. This is dangerous in a "moves-by-default" scenario, because it's very easy to move when working with a `*T` pointer. Also, it requires zeroing memory, which we hope to do away with someday.
auto merge of #7177 : huonw/rust/unfold-fix, r=thestinger
auto merge of #7186 : dotdash/rust/landing_pads, r=pcwalton

Currently, cleanup blocks are only reused when there are nested scopes, the
child scope's cleanup block will terminate with a jump to the parent
scope's cleanup block. But within a single scope, adding or revoking
any cleanup will force a fresh cleanup block. This means quadratic
growth with the number of allocations in a scope, because each
allocation needs a landing pad.

Instead of forcing a fresh cleanup block, we can keep a list chained
cleanup blocks that form a prefix of the currently required cleanups.
That way, the next cleanup block only has to handle newly added
cleanups. And by keeping the whole list instead of just the latest
block, we can also handle revocations more efficiently, by only
dropping those blocks that are no longer required, instead of all of
them.

Reduces the size of librustc by about 5% and the time required to build
it by about 10%.
More 0.7 release notes
auto merge of #7165 : brson/rust/releasenotes, r=thestinger