correctly handle empty POST parameters
httpserver: If no X-Scheme header, use the normal request value.

Previously, if xheaders is True and there are no X headers passed (e.g. when
developing locally), scheme was always "http". This makes in "http" or
"https", based on what was actually used for the request.

Add tests for the X-Scheme and X-Forwarded-Proto headers.
Merge pull request #695 from evanj/master

httpserver: If no X-Scheme header, use the normal request value.
Merge remote-tracking branch 'norman-labs/branch2.4'

Conflicts:
	tornado/httputil.py
Fix bad merge
Add new methods to docs, found by sphinx coverage extension.
Rename WebSocketConnect to websocket_connect.

Add docs for undocumented functions and modules.
Doc updates for the auth module.
Convert auth module code samples to use gen.coroutine.
Minor doc updates for modules A-E
Turn on intersphinx support for links to the standard library.
Fix dangling references in recently-revised docs.
Fix dangling links in next.rst
Rewrite gen docs to make coroutine the primary decorator.
Update chat demo to be more exemplary.

Use gen.coroutine in auth handler (but not in wait_for_messages
because it makes things less clear and we don't have good cancellation
support).  No more mixin.  Python 3 compatible.
Fix most of the rest of the dangling references.
Fix docstring for locale.load_translations.

When unicode strings started using the u() function, this string
was no longer considered a docstring.
Fix dangling references in old release notes.
Turn on dangling-reference warning in sphinx for local builds.

Reformat the HTTPFile docs where were causing odd reference errors.
Doc updates, modules H-L