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.
travis-ci updated to pypy 2.2
Merge pull request #425 from audiodude/master

DownloaderMiddleware docs: Update process_request and minor cleanups.
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.
Changed the proxy tests to use libmproxy instead of starting mitmdump as a separate process.
Added mitmproxy as a requirement.
Corrected typo in tox.ini
Added a delay to wait for the proxy to start.
Corrected a test that used a dummy URL that unpurposedly had an https scheme and failed with PR 397.
Fixed the location of the certificate required by libmproxy.