Add a new option "loadInNewContext" that require's test files in a new V8 context.

This option allows tests to be run multiple times in the same node process, such as in a build process that watches source files and runs the tests on every change.

This adds a dependency on vm module if the option is used, but not otherwise.

npm test reported no test failures.