Bug 956385 - Don't count non-matching messages toward the total. r=ted
Bug 872273 - Remove non-cx variant of ErrorFromException, and make it take a HandleObject. r=Waldo

We're going to need to start doing more work in js_ErrorFromException, which
will require a |cx| and may GC.
Bug 872273 - Generate a JSErrorReport when we need one. r=Waldo

This lets js_ReportUncaughtException get the report directly from the underlying
Error object, rather than trying to duck-type it (which fails for security
wrappers).
Bug 872273 - Don't ToString the exn if we already got a report out of it. r=Waldo

Note that we have to update a test that was previously expecting to hit the
bail-out case at the bottom of js_ReportUncaughtException.
Bug 872273 - Remove manual rooting from js_ReportUncaughtException. r=Waldo

This stuff is exactly rooted now, so this is all unnecessary.
Bug 872273 - Use js::ErrorReportToString for worker ErrorEvents. r=bent

Historically, we've sometimes reported ErrorEvent.message as |Error.name|, and
sometimes as |Error.name: Error.message|, depending on which path we took
through js_ReportUncaughtException. We need to standardize on something, so
let's use the latter, since it contains strictly more information. This involves
updating a few tests.
Bug 872273 - Tests. r=smaug