Add `cargo-bench`, which runs benchmarks at --opt-level=3
auto merge of #307 : erickt/cargo/bench, r=alexcrichton

This adds initial support for benchmarking at `--opt-level=3` for cargo. It's run just like `cargo-test`, and can actually run tests at the higher optimization level with `cargo bench -- --test`.

One question I had though is if we should include the `-Zlto` for link time optimizations. I'm not sure how well supported that is. What do you all think?