Now HTTPConnection.address will always be the socket address, and the fake "0.0.0.0" IP is only used in contexts that want an IP (i.e. HTTPRequest.remote_ip) but the connection is a non-IP socket.
Internally, StackContexts now return a deactivation callback, which can be used to prevent that StackContext from propagating further. This is used in gen.engine because the decorator doesn't know which arguments are callbacks that need to be wrapped outside of its ExceptionStackContext. This is deliberately undocumented for now. Closes #507.
This is required by the RFC as it may confuse caches.
This is needed for correct support of the 304 status code, which has no body and should not have either a Content-Length or Transfer-Encoding. This is a backwards-incompatible change to an interface that was never technically private, but not included in the documentation and as far as I can tell was never used outside tornado itself.
Cleaned up the few windows-specific bits of code. The socket-based Waker is also usable on Jython.