This avoids collisions in code that must deal with both httpclient.HTTPError and web.HTTPError.
IOLoop.current() is now used in all cases; it is no longer possible to pass IOLoops around and use them directly. This occasionally requires awkward workarounds with IOLoop.run_sync, but mainly in test code (and the synchronous HTTPClient).