Run tests and lint with npm test

Looks like jshint and nodeunit were half integrated.  I couldn't find a one-liner to run automated tests.  This PR wires up `npm test` (used by TravisCI & friends) to `grunt jshint` and `grunt nodeunit`.  I added in the nodeunit and jshint dev dependencies and started a test file, `shell_spawn_test.js`, to hook into the `shell` targets defined in the Gruntfile.  I didn't hook up all the targets yet, waiting for confirmation that folks like this direction.