Tech Debt: Use `throw new Error("message")` syntax

Updated the use of `throw("message")` to `throw new Error("message")` I
was motivated to do this primarily because of the issue raised [here](https://github.com/emberjs/ember.js/issues/5366)
raising errors in this way will not only allow Ember applications to
utilize the `throwUnmocked` setting but should provide a consistent
error raising experience across all major browsers as detailed
[here](http://www.nczonline.net/blog/2009/03/10/the-art-of-throwing-javascript-errors-part-2/)

A test has been added. To prove that we are actually throwing an error.
Honestly, doesn't matter so much to me, but I guess my problem was that it's the exact same message as the `complete` assertion. Maybe just tweak them so they identify what's really being asserted? Like: `"Error was thrown, but it is not of type'Error'!"`