Merge the exception & error handlers

This PR merges the exception & request error handlers into a single type.  The `accept` header of the incoming request is honored, if possible.  This should allow a JSON request to receive a JSON error response, for example.

There is a minor nuisance issue here: the template engine does not and can not register as the `text/html` content type engine.  This means that errors/exceptions triggered by a browser request will log a warning like *no content type engine for `text/html`* before *renderingDirectly* or *rendering with template*.

I'm open to suggestions on improving that.