Remove the WindowsError as nothing seems to actually use it
Removed the PermissionError exception as it was never actually used
Switch to using six.StringIO instead of pip.compat.StringIO
Catch the correct error and remove unused urllib errors from pip.compat
Upgrade six to 1.8.0
Move from pip.compat.* to six.moves.* for urllib related stuff
Switch from using cmp to using sorted() with a key func
Remove unused get_http_message_param
Move the encoding down into the Python 3 block
Remove unused import
General clean ups of the compat module
Merge pull request #2029 from dstufft/cleanup-compat

Cleanup compat