Port downloader to use twisted.web.client.Agent (HTTP/1.1 client)

Lately, I've been fiddling with Downloaders, wanting to use HTTP/1.1 and hopefully later benefit from persistent connections once they're officially in Twisted.

So here's my attempt at refactoring HttpDownloadHandler using twisted.web.client.Agent (which uses HTTP/1.1 starting from Twisted 10?) with the Scrapy specificities I could understand in ScrapyHTTPClientFactory.

For now, I added the code to scrapy/core/downloader/handlers/http11.py
but this could be moved to scrapy/contrib/downloaders/ or something.

The test cases I added in test_downloader_handlers.py are OK on my dev machine.

The code still has debug traces.

What you think?