performance improvement to cookie handling when a single spider is crawling a large number of domains
Use latest pyOpenSSL for all travis tests environments

SSLv2 was removed from OpenSSL 1.0 and above but it is still referenced
by pyOpenSSL < 0.13. Travis workers are precise hosts with OpenSSL 1.0
and pyOpenSSL 0.12 (!) with a debian patch to workaround this problem
that is not present in pyOpenSSL 0.12 shipped by PyPi.

Trying to install pyOpenSSL 0.10 or 0.12 from packages at PyPi under a
system with OpenSSL >= 1.0 will success but fails at import time with a
message similar to:

    ImportError: .../lib/python2.7/site-packages/OpenSSL/SSL.so: undefined symbol: SSLv2_method
make Crawler.start() return a deferred that is fired when the crawl is finished
initial version of crawl tests using a mock HTTP server (in separate process). This can also be used to benchmark scrapy performance, although a script (specially suited for that task) would be more convenient
replaced use of depricated module scrapy.settings with the method get_project_settings()
Merge pull request #274 from brunsgaard/master

Updated settings import in contrib/feedexport.py class S3FeedStorage
Revert "replaced use of depricated module scrapy.settings with the method get_project_settings()"

This reverts commit 1b4d14c8f635b28d5f72d37f924c4e71d71520ca.

Calling `get_project_settings()` generates a new independent Settings
object that doesn't contain the overrides passed by command line
arguments, for example.

Proper port would require implementing the from_crawler() class method
and making sure the settings object is passed to all internal objects
(probably breaking some minor backwards compatibility).
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
Spider Arguments support for parse command and test
Merge pull request #277 from nramirezuy/cmd-parse-args

Spider Arguments support for parse command
fix inaccurate downloader middleware documentation. refs #280
Update overview.rst
pipelines argument added
Merge pull request #283 from opyate/patch-1

Update overview.rst, Torrent referenced as TorrentItem in spider
Merge pull request #284 from nramirezuy/cmd-parse-pipelines

Command parse, --pipelines argument added
Update faq.rst

spider.DOWNLOAD_DELAY is deprecated
Merge pull request #288 from kmike/patch-1

Update faq.rst
mock server is slow bringing up on busy builders
test fixed