SERVER-8292 SERVER-7843 SERVER-7087 Better V8 exceptions

Audit all handling of C++ and JavaScript exceptions in V8 interface code.
Pass C++ exception details back to JavaScript similarly to the way this
is done in the SpiderMonkey interface code.  Format JavaScript exception
reporting output to be more similar to the output generated in SpiderMonkey.
Add code and macros to make argument testing and throwing of JavaScript
exceptions more uniform.  Fix typos in error reporting where the error
names the wrong function.  Mimic error text from SpiderMonkey more closely.
wait longer for test completion

On my Windows box it takes 36 minutes, but on some of the slower
Windows buildbots, the test is taking longer than 60 minutes.
We will now wait for 2 hours before giving up.