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
Merge with git@github.com:kostya0shift/urllib3.git