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`.
`fs::readdir` returns a `Result`, which has `#[must_use]`. Assigning it to `_` kills the warning.