Added ability to specify which modules to generate coverage for
Improved output on failures
Improved unit test coverage

Also updated the model/room API to require a location upon
creation rather than rely on it being set after the fact.