Respect Parent Application Error Handlers

When inheriting from a parent application, existing error handlers are
lost.

Rescue all exceptions, walking the ancestor tree (starting from self) to
determine if there is a handler for the raised exception.

Re-raise exception should it be unknown to the handlers.

I'm not sure how I feel about rescuing `Exception`, but it was necessary
to make other tests pass.
Avoid rescuing the `Exception` class.