Use package url and version for binary cache file naming

It helps when dependencies are specified as VCS urls and have the same version in `setup.py` as already cached ones.

It works well when VCS url contains revision hash or tag id. It also works when branch spec is specified but doesn't take into account potential changes of the code of this branch through time.