More tweaking of the project dev work flow

* Report test coverage in lcov format for use by coveralls.io
* Watch task lints and runs tests on file changes.
* Default task runs coffeescript linting and tests with coverage.
* Clean task removes compiled files.
* Tidy up of config style.

The npm test task, for use only by the build server runs the tests twice, once without coverage and once with.  This is not ideal but allows test failures to be reported first, before coverage failures.