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
Remove `async_timeout` and use `connect_timeout` instead
Clean up GoogleOAuth2Mixin, fold scope and response_type into the base OAuth2Mixin
Fixed WebSocketClient connections not closing on initial connection failure
Merge pull request #925 from mengzhuo/master

unify web.handlers
Add test for specifying handlers by name.
Add generated speedups.c to .gitignore.
Fix some cases where curl_httpclient options could leak to subsequent requests.

Document the remaining cases which cannot cleanly be set back to their default
values.

Uncovered by #912.
Change hard-coded SSL protocol version for Python 2.6 to TLSv1.

The compatibility advantage of SSLv3 was always small, and it's probably
better to use TLSv1 than SSLv3 now.

Closes #911.
Merge pull request #910 from Caligatio/patch-1

Fixed WebSocketClient connections not closing on initial connection failure
Add test for the websocket connection-refused fix.
Merge remote-tracking branch 'sclm/GoogleOAuth2' into merge

Conflicts:
	docs/releases/next.rst
Rearrange newly-added optional arguments for backwards compatibility.
Merge remote-tracking branch 'codeb2cc/async-request-timeout' into merge
Don't make the request if it timed out in the queue.

Use IOLoop time instead of request.start_time (which is wall time).
Misc test fixes.