fixes problem with TypeError in Base.read_comps() in python3 (RhBug:1070710)
downloads: fix fatal error message return value from download_payloads() (RhBug:1071518)

Adds unit tests.
exceptions: improve empty key handling in DownloadError.__str__().

Adds test_exceptions.py.
Add repository-packages reinstall command.

Related: RhBug:908764
remove: BaseCli.erasePkgs
Support filtering by repository name in Base.remove.
refactor: Reduce amount of code in repository-packages subcommands.
Add repository-packages remove command.

Related: RhBug:908764
Support removal N/A packages in Base.reinstall.
Support negative filtering by new repository name in Base.reinstall.
Add repository-packages remove-or-reinstall command.

Related: RhBug:908764
repo: log callback calls to librepo.

All the failure scenarios are hard to induce, let's have a strong debugging
option in-place until this code settles down.

Related: RhBug:1070598
downloads: fix counting past 100% on mirror failures (RhBug:1070598)
tests: test_cli_progress uses StringIO to check the output.

Gives us more readable unit tests.
api: add Repo.set_progress_bar() to the API.

Related: RhBug:1071323
api: expose RepoDict.get_matching() and RepoDict.all() (RhBug:1071323)

Renames get_multiple() to get_matching() and changes the KeyError handling to
be more similar to what the builtin dict.get().

Drops property on all(), dict.values() isn't a property either.
added transifex support to cmake (gettext-export, gettext-update)
generated and synchronized translations with transifex
fixed Japanese translatated message (RhBug:1071455)
drpm: properly report applydeltarpm errors. (RhBug:1071501)