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
Allow the callback in @return_future to be run with no arguments.
When @return_future's callback is run with no args, don't pass an arg to client callback.
Introduce TracebackFuture and use it where applicable.

This allows for better tracebacks when using Futures on Python 2.
Organize release notes and add highlights section.
Fix type check that pep8 complains about.