Add missing devDependency: jshint
test: make sure ephemeral ports are used
test: use exec instead of execFile

Paths are absolute and therefore may contain spaces, so all arguments
are quoted using JSON.stringify().
Merge branch 'feature/rmg-ci-friendly'

Adds missing devDependency, switches to ephemeral ports for test
servers, and switches from `execFile` to `exec` so that mocha can
better handle coverage.

Closes #3