throw exception on unhandled/failed "error" event

With this patch $EV::DIED will work as usually in EV-based apps. I suppose other event loops also will now handle Mojo exceptions in their usual ways. Plus we can now use reactor->on(error) as catch-all like $EV::DIED.

To restore original behaviour:
```perl
Mojo::IOLoop->singleton->reactor->on(error => sub { warn pop });
```
I didn't included it in the patch because I'm not sure where it should be added.

I've added class names to error messages to make it easier for user to detect class where unhandled "error" event happens.