lib: don't assume 'node' is on the path

Use process.execPath to start the test runner.  Assuming there is a
node binary on the path somewhere will break when there isn't one or
when it's the wrong version.