Moved up check to see if 'repo' was valid before calling the lower() method on it.
self-contained, non-circular install instructions
Close record file before cleanup
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.
Expand development instructions, fixes #1259
docs: Expand development section example for #1259
Re-vendor distlib to version 0.1.4
Merge pull request #1276 from pfmoore/distlib-0.1.4

Re-vendor distlib to version 0.1.4
allow pip to install Mac wheels from pypi (in addition to Windows wheels)
Autogeneration of scripts when installing from a wheel
Tests for script generation
Added comments and reqordings based on code review
Merge pull request #1251 from pfmoore/script-generation

Script generation code for wheels
Set the executable bit on files generated by distlib's ScriptMaker
Merge pull request #1282 from dstufft/make-scripts-executable

Set the executable bit on files generated by distlib's ScriptMaker
Ignore .pya files as entry points wrappers as well
Merge pull request #1283 from dstufft/ignore-pya-files

Ignore .pya files as entry points wrappers as well
Add a deprecation warning for dependency links
Add --process-dependency-links support to pip wheel
Merge pull request #1284 from dstufft/dependenecy-links-cleanup

Dependenecy links cleanup