Add RequestError subclass to PoolError.

The former PoolError `__reduce__` method was broken as it assumed the `url`
attribute was set, when in fact it was not.

As per issue #174, this commit creates a `RequestError` subclass of `PoolError`
and makes `MaxRetryError` and TimeoutError` a subclass of `RequestError`.
Make HostChangedError a subclass of RequestError.
Merge pull request #175 from bboe/poolerror_pickle

Add RequestError subclass to PoolError.
Make RequestException unpickleable and provide complete cycle (pickle/unpickle) tests.
Merge pull request #176 from bboe/unpickle

Make RequestException unpickleable
Support for relative urls in Location header
Python 2 module name typo
Testcase for support for relative url in Location url
Support for relative url in Locationl header
Merge with git@github.com:kostya0shift/urllib3.git
Testcase for support for relative urls in Location header
Merge pull request #180 from CipherChen/master

Fixed redirecting with relative URLs in Location header. (Closes #179 and #178)
Update CHANGES.rst
Formatting and comment.
Minor code cleanup.
Update ntlmpool.py
Merge pull request #183 from shoghicp/master

urllib3.contrib.ntlmpool: SyntaxError with Python 3
fixed small typo
Merge pull request #184 from royhodgman/master

small typo fix
add io.IOBase compatibility to HTTPResponse

Closes #182