Document Tornado's incompatibility with asyncio.ProactorEventLoop.

Closes #1201.
Move static functions in curl_httpclient to methods of CurlAsyncHTTPClient.

No functional changes in this commit, just code movement.
curl_httpclient: run streaming and header callbacks on the IOLoop.

This ensures a more consistent execution environment and allows
a streaming or header callback to invoke other CurlAsyncHTTPClient
methods.

This change also fills in HTTPResponse.headers even when a header_callback
is used, similar to simple_httpclient's behavior.

Closes #1188.