testsuite: Test for #4780
testsuite: Update test for #2478. Still xfailed
testsuite: Add xfailed test cases
rustc: Don't generate code for unreachable expressions

The way we deal with unreachable expressions in trans is pretty ad hoc,
but this at least doesn't make it worse, and eliminates the LLVM
assertion failure reported in #5741.
auto merge of #6662 : catamorphism/rust/issue-4780, r=catamorphism
auto merge of #6664 : catamorphism/rust/issue-3796, r=catamorphism
auto merge of #6665 : catamorphism/rust/issue-5741, r=nikomatsakis

r? @nikomatsakis The way we deal with unreachable expressions in trans is pretty ad hoc,
but this at least doesn't make it worse, and eliminates the LLVM
assertion failure reported in #5741.
fix arm stack alignment
auto merge of #6667 : crabtw/rust/arm-rt, r=brson

This fixes segmentation fault of new rt tests.
For example
```
use core::rt::test::*;
use core::rt::comm::*;
use core::cell::Cell;

fn main() {
    do run_in_newsched_task {
        let (port, chan) = oneshot::<~int>();
        let port_cell = Cell(port);
        do spawntask_immediately {
            assert!(port_cell.take().recv() == ~10);
        }
        chan.send(~10);
    }
}
```
"Type :help for help", similar to ghci
auto merge of #6671 : kud1ing/rust/patch-1, r=z0w0
Implement static_assert attribute

This verifies that a static item evaluates to true, at compile time.
Add static_assert doc blurb