Test Coverage refactoring

Date providers are great, but apparently they can break PHPUnit, and if they do, the do so silently, but kill subsequent test classes. Tests are now refactored to be discrete, and explicit about the classes they cover.