Allow add_handlers() to append to existing hosts.

This change removes the restriction that all handlers for a given host
pattern be registered in a single call to add_handlers().
Merge branch 'master' into append-handlers
_get_host_handlers() now returns all host matches.

This approach has more clearly defined precedence rules than the
previous insertion-time strategy implemented in add_handlers().

It also correctly leaves pattern matching in the hands of the regular
expression evaluator as opposed to directly comparing pattern strings.
Fix a memory leak in stack_context.

The old_contexts reference in StackContexts could maintain a chain of
old irrelevant contexts, so clear it once it's no longer needed.
This was mainly a problem in gen.engine, where additional contexts
would accumulate in memory (but not on the stack) for each asynchronous
operation.

Also clear the deactivate_stack_context in gen.Runner to allow
the StackContext to be garbage-collected sooner.
Fix TwitterMixin on Python 3.

Also add tests, and add get_auth_http_client method to all auth mixins.

Closes #634.

Conflicts:
	tornado/test/auth_test.py
	website/sphinx/releases/next.rst
Fix a bug with IOStream.read_until_close with a streaming_callback.

If the underlying socket was already closed the buffered data
would be passed to the final callback rather than the streaming callback.

Conflicts:
	website/sphinx/releases/next.rst
Bump version to 2.4.1, update release notes.
Merge branch 'branch2.4'

Conflicts:
	setup.py
	tornado/__init__.py
	tornado/test/auth_test.py
	website/sphinx/releases.rst
Remove now-redundant entries from next.rst, bump version to 2.4.post2.
Accept Content-Length headers in 304 responses.

Closes #639.
Add protocol kwarg to HTTPServer constructor.
ErrorHandler no longer requires XSRF tokens.

Closes #638.
Doc cleanups.

* Fix doc generation for httpclient.py (unescaped \r\n)
* Manually specify signature of Template constructor
* Include IOLoop.time

Closes #644.
Add a mock.patch-compatible wrapper for options objects.
Document the need to pass Connection: close when using no_keep_alive.

Closes #641.
Document the use of self.xsrf_token to set the cookie for ajax-only apps.

Closes #645.
Add tests using the Redbot library for HTTP validation and caching.
Return a Vary: Accept-Encoding header whenever gzip is enabled.

This is one of two problems found with redbot.  The other,
that etags should change when content-encoding is used, is trickier to
fix and seems to be less problematic.

Closes #578.
Add path_{kw,}args attributes to RequestHandler.
Catch all exceptions, not just {OS,IO}Error in IOLoop.remove_handler.

Attempting to remove a non-existent fd raises IOError on epoll
but KeyError on kqueue; this change swallows any exeption to make
both platforms consistent.