Throwing Error instance rather than String

By throwing the `Error` instance rather than the string it means that `error.stack` will be available to aid debugging. For example, when using [`grunt-mocha-test`](https://github.com/pghalliday/grunt-mocha-test/blob/0.11.0/tasks/mocha-test.js#L80).

Plus added in a couple of missing semi-colons :smile: