added hook types 'if_exception' and 'if_abort' because hooks defined via 'after_request' aren't called if an
exception is raised in a request handler, or abort() is called in a request handler.