Clean up test environment

- Before tests were run twice on ci (once by grunt, once by npm run-script).
- Move some stuff out of grunt (removing the need for intermediary `grunt-*` deps).