refactor: how download progress are handled.

Introduces special Payload class hierarchy to handle the complexities in
between librepo and display callbacks.
remove: repo.get_package(), get_package_target().

Not used.
refactor: downloads of metadata use the Payload system too.
tests: fix the unit tests after Progress/Payload refactoring.