[vm] Many fixes to make the tests pass.

- Changed `Script.prototype.runInNewContext` to be a derived method in JS, instead of one created in C++.
- Awkard `binding.ContextifyContext` + `binding.associateContextifyContext` combination replaced with simple `binding.makeContext`.
- Exceptions executing or parsing the script now have their lines corrected by `DisplayExceptionLine` to make the stack trace point to the right place.
- `ContextifyScript` verifies that it is called as a constructor.
- `ContextifyScript` methods verify that they are called on `ContextifyScript` instances.
- `ContextifyScript.prototype.runInContext` verifies that the context passed in has been `makeContext`-ed.
- Message test outputs updated to include the new lines where JS is used instead of C++ to implement a feature.