Code coverage implementation

#### What's this PR do?
This PR incorporates test coverage measurement and reporting into our normal continuous integration process, by: 
1. Testing the effective coverage of our Mocha tests with [Istanbul](https://github.com/gotwarlost/istanbul), which then generates LCOV data (standard-formatted coverage data) which is captured by: 
2. [Node-coveralls](https://github.com/cainus/node-coveralls), which then passes this data to: 
3. [Coveralls](http://coveralls.io/), a coverage report history and stat client. 

We've hooked up this process to our Wercker build process--check out `wercker.yml` to see how we've modified the build steps--and each new push to any branch on any Github-hosted fork now automatically runs these steps. 

**Note** that we've removed `npm test` from the build process--the command `NODE_ENV=test ./node_modules/.bin/istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage` runs our mocha tests for us. We'll retain `npm test` as a way to quickly run tests on our local. 

**Note** that we've also added the coverage directory to the `.gitignore` (which normally is automatically removed during the Wercker build coverage reporting process, but remains if we run Istanbul locally), as well as the `.coveralls.yml` file, which is generated by the Wercker build process and should only contain the Coveralls repo key (the identifier of project's repo to Coveralls.) 

#### Where should the reviewer start?
Check out `wercker.yml.` 

#### How should this be manually tested?
Try a push, or run the command above! 

#### Any background context you want to provide?
The badges are branch-specific. Our badge should update when we deploy to the master branch. 

#### What are the relevant tickets?
Closes #283.