Use mocha correctly, see also

- http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/
- http://blog.millermedeiros.com/node-js-protip-avoid-global-test-runners/
- http://programmers.stackexchange.com/questions/199102/npm-packages-json-devdependencies-vs-global-installation
Merge pull request #13 from robrich/mocha

Use mocha correctly
Put process.stdout.write back even if test fails
Use a unique coverage variable like istanbul command does
Merge pull request #8 from robrich/coverage-var

Use a unique coverage variable like istanbul command does
Merge pull request #14 from robrich/process.stdout

Put process.stdout.write back even if test fails
Run jshint has part of each build
Merge pull request #12 from robrich/jshint-alt

Make JSHint pass by modifying .jshintrc
add more helpful rules to jshintrc, remove obsolete esnext
Merge pull request #18 from robrich/jshintmore

add more helpful rules to jshintrc, remove obsolete esnext
Upgrade dependencies