Fix issue with Error.prototype.toString in IE 7

IE 7 and prior don't properly implement Error.prototype.toString which
makes regexp checks via `throws` fail unexpectedly. This provides a
method that generates a standardized ES5 error message.
Followup to 9ec5593 - fix lint and style issues