Make error reporting much more clear and helpful.

This would have saved me a couple weeks worth of headaches. Coming from a background with no ES6 Module or Promise experience straight to jspm, I didn't realize that `.catch` and `.then` were catching different errors. I assumed they were interchangeable, `.then` being for when you want to catch the export of module, and `.catch` when you don't. This will help other new comers realize there's a difference between these errors.