Use idiomatic crate structure

If you'd like me to explain these, add a comment or ask in IRC! The basic idea
is that `mod foo;` pulls in `foo.rs` and makes a *entirely separate copy* of
the module, at that point in the heirarchy. It is never useful.

The idiomatic name for test module is just `test`, as the full path to the
module will be included in the output of the test runner.