HTTP refactoring part 1: move shareable parts out of httpserver.py.

tornado.httpserver.HTTPRequest -> tornado.httputil.HTTPServerRequest
tornado.httpsrever.HTTPConnection -> tornado.http1connection.HTTP1Connection
Move some logic from HTTPRequest to HTTP1Connection.

This removes some imports from httputil that are not allowed on app engine.
Fix close_callback handling when the Future read interface is used.
Fix doc references to HTTPRequest.
Refactor HTTP1Connection to use coroutines.
Move HTTPServerRequest-specific logic from http1connection to httpserver.
define and use errno_from_exception abstraction

If an OSError or IOError are instantiated without an errno value, e.g.
e = OSError(). The existing code would give an IndexError: tuple index
out of range. However there have been cases that the errno attribute
wasn't populated so instead of switching to it this introduces a helper
function to ensure we get the errno value through whatever means
possible.
Use HTTP1Connection in SimpleAsyncHTTPClient.

This incidentally adds support for chunked request bodies on the server side.
Some cleanup and renamings.

Replaced some server-specific names and cut down on overuse of "process"
as a generic verb.
Move gzip decompression from simple_httpclient to http1connection.
Add support for gzipped request bodies to HTTPServer.
Add a test for HTTPServer's recently-acquired support for chunked requests.
Add iostream.write_buffer_size property.
Add max_write_buffer_size to iostream.
Merge pull request #996 from cardoe/exception-fix

use errno attr instead of index into args for errno
Remove `write_buffer_size` read-only property.
twisted can be installed without twisted.names fixes #1007
remove useless code of BaseIOStream
Merge pull request #1008 from yaccz/fix/1007

twisted can be installed without twisted.names fixes #1007
Merge pull request #1012 from dlutxx/br310

remove a redundant assignment in read_until_close.