Convert resolvers to @gen.coroutine.

This adds a requirement that there be a "current" IOLoop, which introduced
a few ripples.
Fix resolver test script.
Merge pull request #686 from omribahumi/master

Flushing the buffer when calling IOStream.read_until_close()
Fix twisted version check.
Make DummyFuture class private.

It's now only exposed and used when concurrent.futures is not available.
Test the IOLoop.current method and add it to TwistedIOLoop.
Add IOLoop.run_sync convenience method.
All functions that take an IOLoop default to current() instead of instance().

This means among other things that it's no longer necessary to pass
IOLoops explicitly in tests.
Release note updates
Upgrade requirement packages.

Upgrades are available for tox and virtualenv, but don't work for me
because of https://github.com/pypa/virtualenv/issues/366 (to be fixed
in virtualenv 1.9).
Modernize app engine demo: py27, non-CGI interface, get_template_namespace.
Remove markdown support from app engine blog demo.
Use autoescape in appengine blog demo.
Remove embedded copy of markdown.py from blog demo.
Use autoescape in blog demo.
Use distinct cookie names across all the demo apps.
Autoescaping is now the default, so remove the explicit setting in chatdemo.
Use autoescape in websocket chat demo.
return_future and friends now pass the result, not the Future, to the callback.

Functions and decorators that take an optional callback and return
a future (return_future, gen.concurrent, and run_executor) no longer pass
the Future object to the callback.  This results in somewhat less flexible
error handling, but is more consistent with prevailing practice without
Futures.
Bump version to 2.4.post4