Add project information to l10n templates.
test: new codegen tests, rename hello.
Add a `get_mut` method for TLS

Simulates borrow checks for '@mut' boxes, or at least it's the same idea.
Sort lint attributes to print them in a more sane way

Closes #7818
Make all lang_items optional

Whenever a lang_item is required, some relevant message is displayed, often with
a span of what triggered the usage of the lang item
auto merge of #7828 : alexcrichton/rust/lang-opt, r=graydon

Whenever a lang_item is required, some relevant message is displayed, often with
a span of what triggered the usage of the lang item.

Now "hello word" is as small as:

```rust
#[no_std];

extern {
    fn puts(s: *u8);
}

extern "rust-intrinsic" {
    fn transmute<T, U>(t: T) -> U;
}

#[start]
fn main(_: int, _: **u8, _: *u8) -> int {
    unsafe {
        let (ptr, _): (*u8, uint) = transmute("Hello!");
        puts(ptr);
    }
    return 0;
}
```
auto merge of #7839 : graydon/rust/new-codegen-tests, r=pcwalton

Add some codegen tests. Nothing too surprising.
auto merge of #7841 : alexcrichton/rust/tls++, r=huonw

Simulates borrow checks for '@mut' boxes, or at least it's the same idea. This allows you to store owned values, but mutate them while they're owned by TLS.

This should remove the necessity for a `pop`/`set` pattern to mutate data structures in TLS.
auto merge of #7835 : omasanori/rust/l10n-improvement, r=pnkfelix

Adding options for `po4a` in `mk/docs.mk` and updating .pots.
auto merge of #7843 : alexcrichton/rust/better-lint-help, r=huonw

Closes #7818
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.
librustc: Remove some extra "copy" keywords that came in before this change merged.