Add support for examples and external tests

This add support for `examples/*.rs` being built (as normal bin crates) during `cargo test`,
and `src/test.rs` and `tests/*.rs` being built and run (as test crates) during `cargo test`.
It seems to OK to me to do that rather than pattern match and handle `Err` explicitly, because this result is only being used for side effects (pushing the contents of a mapped `Ok` onto `bins`), and the `Err` arm would just be empty anyway.