Moving toward test being separate module.

This also allows for projects where the "default" module coexists with actual
modules. So a simple package contains a default module and probably a test
module, and that's it. More complex packages can still have multiple named
submodules and can omit (or not) the default module.

The default module is included if there's a src directory at the top-level,
omitted otherwise.

Source now goes in src/(java|scala) because there's longer a need to
distinguish between main and test.
Added build/test harness.

This encapsulates a bunch of fiddling that other packages can use to build
their package and run their (JUnit) tests on a CI system like Travis.