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`.
My thought in writing that code is "what is existing practice?" `src/test.rs` is the standard daying back to rustpkg days, and `tests/*.rs` is what roughly what cargo uses for its own tests (not without modification, per discussion on IRC).

More feedback about what other rust projects are using would be nice.