Add a test case for the synchronous HTTPClient.
Move fallback exception raising in AsyncTestCase from run() to tearDown().

This allows the exception to be reported as a test failure instead of
making the test run blow up.
stack_context.wrap() the callback passed in to a @return_future function.
If a @return_future function raises immediately, don't run the callback.
Add TwistedResolver for non-threaded async DNS resolution.
Add a test that runs TwistedIOLoop on top of TornadoReactor.

This exposed a few more small bugs.