Add in Google OAuth2 support.
Fix up documentation for the class and the Sphinx reference.
Add timeout for requests in SimpleAsyncHTTPClient's queue.

The connect_timeout and request_timeout in HTTPRequest only matter when
the _HTTPConnection get created. In heavy-loadded situation requests in
SimpleAsyncHTTPClient may have already timeouted before they pop out
from queue and get actual processed. This commit adds an timeout
callback for every request appended to SimpleAsyncHTTPClient's request
queue that cannot be processed immediately.
Add a test case for async_timeout in SimpleAsyncHTTPClient.
Rename the object param in GoogleOAuth2Mixin from overwrites to extra_params.
Stop making an absolute URL for GoogleOAuth2Mixin
Fix exception in StaticFileHandler when range requested is larger than file.
RequestHandler sets its close callback on the HTTPConnection, not the IOStream.

Fixes a bug in which close callbacks would never be called for subsequent
requests on a reused connection.
Add 3.1.1 release notes.
Set version number to 3.1.1
Merge branch 'branch3.1'

Conflicts:
	docs/releases.rst
	setup.py
	tornado/__init__.py
Remove `async_timeout` and use `connect_timeout` instead
Clean up GoogleOAuth2Mixin, fold scope and response_type into the base OAuth2Mixin
Allow preconstructed HTTPRequest objects in websocket_connect.

In particular this allows for headers to be passed in to simulate
browser authentication behavior.
Set Connection: keep-alive header directly without going through set_header.

set_header is not allowed in WebSocketHandler, but some proxies add
this header unconditionally.

Closes #897.
Add a default_handler_class setting for custom 404 pages.

The previous solution for custom 404s (a r'.*' rule at the end of the
handlers list) proved to be undiscoverable for many users, and it
could be nontrivial to put the rule in the right place in the presence
of multiple add_handlers calls and the implicit StaticFileHandler rules.
Fix warnings during final GC of the test suite in python 3.4a1.

3.4 can GC things that were uncollectable before, like abandoned generators.
It also seems generates ResourceWarnings for unclosed files in places
where older versions did not.
Don't assume IP-style socket addresses in error messages.

Closes #900.
Fix unix socket error test on python 3 on linux.

The remote address of a unix socket is apparently an empty character
string on mac but an empty byte string on linux.
possibility to disable autoreload when debug is on