cummulative code changes from pull #7, without tests or fixtures

I didn't explain this well in pull #7 but the non-unit-test code changes, from memory, are:
- fix error where the coverage report directory was removed before the report was written to it
- remove fake async code for "app" tests
- replace process.exit with callback(err, ok)
- rm some dead code