doc: Response.replace() cannot take meta argument

>>> response.replace(meta={'foo':1})
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/srv/scrapy/scrapy-fork/scrapy/scrapy/http/response/text.py", line 45, in replace
    return Response.replace(self, *args, **kwargs)
  File "/srv/scrapy/scrapy-fork/scrapy/scrapy/http/response/__init__.py", line 77, in replace
    return cls(*args, **kwargs)
  File "/srv/scrapy/scrapy-fork/scrapy/scrapy/http/response/text.py", line 22, in __init__
    super(TextResponse, self).__init__(*args, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'meta'
doc: remove trailing spaces
Use twisted.web.client.Agent for download requests (use of HTTP/1.1)

Adds http11.HttpDownloadHandler in scrapy.core.downloader.handlers
Renamed downloader to Http11DownloadHandler and some refactoring

Only for HTTP, not HTTPS
Test on expected body length instead of request method (HEAD case)
Restore handling of HTTPS
http11 cleanup
add http connection pool and custom ssl context factory
enable persistent connections
move ssl context factory to its own module and implement a non-ssl version that warns about pyopenssl support
remove duplicate context factory handling for non-ssl support in http1.0
close pool connections before finishing tests
empty bodies does not require a body producer
adapt for singletons removals
cleanup http connection pool on engine stop
agents requires an instance of contextFactory
change manager in telnet variable to crawler
Merge pull request #301 from tpeng/fix_telnet_doc

change manager in telnet variable to crawler
added context manager for mock server, moved test spiders into a separate module (scrapy.tests.spiders)
add scrapy bench command for benchmarking, with documentation
minor improvements to benchmarking doc