Improve the makefile
Improve the makefile

Cover the cargo commands `bench` and `doc`. `make all` builds the
crate and the documentation, target `build` is added to build
just the crate.

Added target `test` for running only `cargo test`, not requiring
the crate build (we build the crate for `check` to warn on unused
private code that might still be covered by the unit tests).

Variable CARGO_OPTS can be used to pass options to Cargo.

mzabaluev/rust-c-str