Rename Option swap_unwrap to take_unwrap. Fixes Issue#7764
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
auto merge of #7831 : ozten/rust/issues-7764-swap_unwarp-take-unwrap, r=pcwalton

Fixes Issue #7764

Running `make check` I do get a failure:

    test rt::io::extensions::test::push_bytes ... ok
    rustest rt::comm::test::oneshot_single_thread_send_port_close ... t: task failed at 'Unhandled condition:
     read_error: {kind: OtherIoError, desc: "Placeholder error. You shouldn\'t be seeing this", detail: None}',
     /Users/shout/Projects/rust/src/libstd/condition.rs:50
    /bin/sh: line 1: 35056 Abort trap: 6           x86_64-apple-darwin/stage2/test/stdtest-x86_64-apple-darwin --logfile
     tmp/check-stage2-T-x86_64-apple-darwin-H-x86_64-apple-darwin-std.log
    make: *** [tmp/check-stage2-T-x86_64-apple-darwin-H-x86_64-apple-darwin-std.ok] Error 134
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
stop initializing ref_count for stack closures

the only part of the header ~fn and &fn should be touching right now is
the tydesc
rm unused visit_str method from TyVisitor