DownloaderMiddleware docs: Update process_request, proper explanation of IgnoreRequest.

Also:
* Change terminology to eliminate uses of terms such as "request middleware" to refer to the process_request methods of installed middleware.
* Remove description of "immediate redirection", as it is misleading.

Further changes.
better names for HANDLE_* settings, and added doc
Modify ItemLoader to support XPath and CSS selectors

Deprecate XPathItemLoader (now an alias to the new ItemLoader)
Remove "x-gzip" from Requests' "Accept-Encoding" header
Merge pull request #469 from redapple/xgzip

Remove "x-gzip" from Requests' "Accept-Encoding" header
Merge pull request #461 from redapple/selectorloader

Add "unified" SelectorItemLoader (supports .add_css() and .add_xpath())
travis-ci updated to pypy 2.2
Merge pull request #425 from audiodude/master

DownloaderMiddleware docs: Update process_request and minor cleanups.
Add tests for OffsiteMiddleware() + use re.escape() in domains regexp
include_package_data is required to build wheels from published sources
Add 0.20.1 release notes

Conflicts:
	docs/news.rst
fix logging error with unicode spider name

Log message fails if spider name is in unicode, because "system" key in eventDict isn't encoded.
fix method name in tutorial. closes GH-480
Adds the functionality to do HTTPS downloads behind proxies using an
HTTP CONNECT.
Removed some trailing spaces that I left.
Improved error handling.
Raises a custom TunnelError when the tunnel cannot be opened. Removed unnecesary comments.
Adds support for proxy authentication when openning a CONNECT tunnel.
Adds the option to omit the usage of a CONNECT tunnel by adding the noconnect
parameter to the URL of the proxy.
The response matching re is now compiled once at module load time.