Fix GH-1867: non-deterministic name for git editables on Python 3

Determine names_by_commit deterministically.
Normalize names in a URL

PyPI and Bandersnatch now normalize the project name in their
URLs. This change matches that and will reduce the number of
redirects we hit on PyPI and will reduce the need to hit /simple/
on a Bandersnatch mirror.
delete two unused functions
reverse the deprecation of --build and --no-clean
Merge pull request #2001 from dstufft/normalize-URLs

Normalize names in a URL
Do not look for /simple/{name}/version/ URLs anymore
Deprecate the fallback to /simple/
InstallRequirement.absolute_versions is no longer required.
Merge pull request #2064 from dstufft/pr-2062

reverse the deprecation of --build and --no-clean
Merge pull request #2046 from dstufft/simplify-simple-urls

Simplify simple urls
Merge pull request #2055 from bukzor/buck-del-unused-functions

delete two unused functions
Use encrypted vars instead of branch names to stop forks from notifying
Add test_git_get_src_requirements
Git.get_src_requirement: Get first matching ref alphabetically

so that the result is deterministic and predictable
Ensure that package_data is correct and the MANIFEST.in is correct
Ensure that our packaging remains correct
Merge pull request #2074 from dstufft/fix-packaging

Fix packaging
Record files don't always include directories so find eggdir by looking for a file within it.

Fixes #2075
Prevent zero division error in download speed calculation
Merge pull request #2077 from pfmoore/zero_division

Prevent zero division error in download speed calculation