Add a --no-run option to `cargo test`

This allows tests to be built, but not run.

Closes #406