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.
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"
Now pip does not wipe uncommited changes in editable git repositories silently.

It asks if you want to do this or skip update. A new command line option
``--uncommited-action`` allows to set default action for non-interactive case.
Fixed test 'test_check_submodule_addition'.
Fixed test failure on python3 (it was caused by scripttest library).
Make pep8 happy.