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`.
I typically have most of my unit tests in their respective modules (next to the implementation) and acceptance tests in `tests/` folder. It's a pretty good fit. I'm not sure what would be within `src/test.rs` though.