move some exception handling to a better place

HTTPExceptions should be handled in the outmost callable
that way it's easier to catch all the exceptions that may arise anywhere in objectquery code
strategically moved all the debug logging and exception handling into `__call__` method of the middleware
Before, the pattern was `resp = req.get_response(http_exc)`. Looking at the `swob` module in `swift`, I'm a little confused at how this works.

In this new version, we just return the `http_exc` (an Exception) object. Is this correct?