Increase tidy column limit to 100
mk: rt.mk ar desinated by target-triples
work on release notes

* make the changes regarding move semantics clearer
* expand on the container work
Revamp foreign code not to consider the Rust modes.  This requires
adjusting a few foreign functions that were declared with by-ref
mode.  This also allows us to remove by-val mode in the near future.

With copy mode, though, we have to be careful because Rust will implicitly pass
somethings by pointer but this may not be the C ABI rules.  For example, rust
will pass a struct Foo as a Foo*.  So I added some code into the adapters to
fix this (though the C ABI rules may put the pointer back, oh well).

This patch also includes a lint mode for the use of by-ref mode
in foreign functions as the semantics of this have changed.
Remove `++` mode from the compiler (it is parsed as `+` mode)
and obsolete `-` mode altogether (it *was* parsed as `+` mode).
auto merge of #5307 : nikomatsakis/rust/remove-by-val, r=nikomatsakis

This is done in two steps:

First, we make foreign functions not consider modes at all.  This is because previously ++ mode was the only way to pass structs to foreign functions and so forth.  We also add a lint mode warning if you use `&&` mode in a foreign function, since the semantics of that change (it used to pass a pointer to the C function, now it doesn't).

Then, we remove by value and make it equivalent to `+` mode.  At the same time, we stop parsing `-` mode and convert all uses of it to `+` mode (it was already being parsed to `+` mode anyhow).

This obsoletes pull request #5298.

r? @brson
auto merge of #5340 : brson/rust/column, r=brson

#5274
Remove unused variable
Remove unused import in core
Remove unused imports in std
Remove unused import in librustc
auto merge of #5336 : ILyoan/rust/remove_unused, r=sanxiyn

Remove unused imports to get rid of warnings.
librustc: Separate out trait storage from evec/estr storage
librustc: Don't accept `as Trait` anymore; fix all occurrences of it.
librustc: Remove overloaded operator autoderef.
librustc: Remove "base types" from the language.
librustc: Remove implicit self from the language, except for old-style drop blocks.
test: Some test fixes
librustc: Don't require the "static" keyword to define a static method
librustc: Allow path-qualified constants in patterns