Fix uniqueness in Finder, Downloader and Dependencer

The key for caching seen items was hardcoded for all the services, so in
the downloader for example, the same URLs requested by different
requirements were not considered unique;

Now each service can define its own hash function to calculate the key
that guarantees uniqueness.
Improve output on problems