Use grunt to linting and running tests

This includes `grunt watch` which watches the files and automatically restarts the lint and tests.