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.
The error message is written to be the opposite of what the assertion is. So if we see the message it should be because the Error was **not** thrown. Or were you thinking/expecting something else?