JavaScriptCore: Improved code that uses JSObjectMakeError instead of JSValueToObject to create the exception object.

JSObjectMakeError automatically populates the "message" field, and possibly other fields I don't know about. This seems to be the most robust way to create an exception object.

Thanks to Brian Barnes again for the tip on JSObjectMakeError.