Don't double "remove" an item from "dirs"

Use "elif" to only call `dirs.remove(dir)` once if both conditions are true. This is possible if a virtualenv called "test" is present, so both "test/bin/python" exists, and `dir == 'test'`. It would execute `dirs.remove('test')` twice, the second time raising an exception.
Document the build system interface used by pip
pip upgrades on windows
Merge pull request #1679 from qwcode/win_upgrade_docs

document pip upgrades on windows
Fix code to handle the latest flake8
Merge pull request #1685 from dstufft/fix-latest-flake8

Fix code to handle the latest flake8
Use Accept-Encoding: identity when requesting files
Document why we use decode_response=False
Merge pull request #1688 from dstufft/accept-encoding-identity

Accept encoding identity
Merge remote-tracking branch 'matt/patch-1' into develop

Conflicts:
	pip/req.py
Merge pull request #1230 from mgood/patch-1

Don't double "remove" an item from "dirs"
Fix #1643 - Upgrade six to 1.6.1
turn on --user tests for pypy
remove unused imports
lib path fixes for pypy tests
Merge pull request #1692 from qwcode/pypa_user

turn on --user tests for pypy
slightly more pythonic syntax for iterating over line numbers
Fix compatibility with wheel 0.23.0

wheel now only produces the major python version for the tag of pure
distributions, so expect that instead.
underscore unused variables
Merge pull request #1703 from Ivoz/pep8fix

underscore unused variables