README tweak
Fix bug where not all files are stored for a release
Improved help + docstrings for pipcache.py
Fix failing tests; remove httpretty
Remove unused & incomplete functions
Make Package relations into sets
Basic refresh command updates releases
Order Packages by name
Add Delorean to requires
Copy wheels to hyphenated version of destination if it exists

`wheel` uses an underscore naming convention even when the source package uses
a hyphen and so copying wheels around can create a foo_bar directory even if
the original package already resides in a foo-bar directory. When copying
wheels check to ensure there isn't a hyphenated version of the source already
in existence and if there is copy the wheel to there instead
Pass location to package_releases when refreshing packages
refresh.py saves each updated package individually.

Saving all updated packages in one transaction left refreshing vulnerable to
failing late in the process due to network/pypi errors
Refresh correctly updates every release's modified stamp
If --older-than is today's date, set the time to 23.59
Revert list evaluation of refresh_packages script.refresh.main

Evaluating the entire list of packages into a list removes the opportunity to
commit each updated package one at a time
Allow `package_releases` to skip obtaining version

It is often the case that metadata for a given package has already been
obtained and so there is no need to re-request it
Fix tests to expect/pass correct args
Update CHANGES.rst
Merge branch 'feature/background_package_refresh' into develop