librustc: Implement `#[no_main]`, which omits the entry point entirely.

Useful for SDL and possibly Android too.
auto merge of #8279 : pcwalton/rust/no-main, r=brson

Useful for SDL and possibly Android too.

r? @brson