Pre-compiling regex that removes control characters.

Given that this regex might be used a lot in the lifetime of a given server (each request that uses get_argument for unicode strings) it seems sensible to store the compiled version of the regex.
Handle non-ascii data in logged exceptions like in the main message.

Closes #675
Merge commit 'e3f8aa' from heynemann/master

Closes #677
Clarify docstring of IOLoop.stop.

The mention of "after the current iteration" was meant to emphasize that the
stop was not instantaneous, but it could have also been read as a guarantee
that one more poll call would take place.

Closes #672.
Escape non-ascii bytes in tracebacks line-by-line instead of all at once.

Previously if there were any bytes that needed escaping, the newlines
would get escaped as well, ruining the message formatting.

Closes #675 (again)
Add a workaround for a bug in the latest version of libcurl
Make LogTrapTestCase fail more gracefully in unknown logging configurations.

This allows LogTrapTestCases to be run under nose, which does its own
log buffering.

Closes #674
Fix quadratic performance in gen.engine when yielding a large list.
Bump version number to 2.4.post3
Remove epoll.c from MANIFEST.in
Prevent __future__ imports in tornado from leaking into user code.

This could happen with the command-line mode of autoreload or
in templates.
Fix a straggling reference to netutil.TCPServer in comments.
Document and test the ability to call remove_timeout after it has fired.
Add a tox config for testing with the pyuv-based IOLoop.
Add an assertion for inconsistent StackContexts when used with generators.
s/xrange/range/ for python 3.

Closes #681.
Fix typo in stream setup for stderr
Use xrange instead of range on python 2.

Closes #681.
Merge pull request #682 from martynsmith/patch-1

Fix typo in stream setup for stderr
Add a test for subprocess with stderr as a separate stream