Help out the CPython GC by clearing some references in IOLoop.close.

This prevents some of the ResourceWarnings from the test suite on python
3.3 (older versions didn't report the leaks; newer versions are better
at freeing generators).  Since this is in IOLoop.close, it mainly
affects tests.
Add on_connection_close to the HTTPMessageDelegate interface.

This allows handlers to detect when the connection was closed during
the upload of the request body.
Add on_close to HTTPServerConnectionDelegate.

Add close_all_connections method to HTTPServer for testing cleanup.
On Python versions before 3.4, the GC has problems with generators,
so the previous approach of closing all the file descriptors and
leave the rest to the GC no longer works.  (Only Python 3.3 prints
the uncollectable garbage warnings, but the problem is present
in earlier versions).
Call the superclass's on_connection_close in this test.

This fixes the last py3.3 uncollectable garbage warning.
Add client-side support for Expect: 100-continue.

Don't send the 100-continue response if the header callback already sent
a response.
Return Futures from RequestHandler.flush and HTTP1Connection.write{,_headers}