Prevent errors from being caught

This is a pull request for #243.

So far, I've added a test case and removed what seems to be the first thing that catches errors. I'd be grateful if someone could give me a hand with any of these issues:

1. Despite the fix I have here, there's still something else eating up the errors within `Promise.onPotentiallyUnhandledRejection()` which looks to be within `SystemJS`? Any ideas on how to deal with that?

2. The tests don't run for me when I do `grunt test` - it looks like zero tests are executed. I've seen the build on travis has the same output. So I've run my test in a browser but I can't be sure it integrates properly with QUnit.