Added coveralls.io integration

When the tests are run on travis, the coverage report is sent to coveralls.io, which tracks test coverage across branches and integrates into Github in much the same way as travis itself does.

The only downside is that it complicates the build system ever so slightly. Travis, by default, runs `npm test` after building, but we don't want to send the coverage report to coveralls.io every time we run our tests locally (it wouldn't even work). So I've created a basic makefile with targets for linting, testing, generating coverage reports (just for us) and testing/generating coverage reports for coveralls.io. The latter is what travis will be running.

So if you just want to run the tests for yourself, run `make test`. If you want to run the tests and get a coverage report (equivalent of the old `npm test`), run `make test-cov`, and if you're a continuous integration system named Travis, run either `npm test` or `make test-coveralls`.