Add `cargo-bench`, which runs benchmarks at --opt-level=3

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?
I could also put these files in `tests/`. I just did this to keep up the pattern with the rest of the patch.