repos: fix total downloaded size reporting for cached packages. (RhBug:1121184)
refactor: crypto: Key is a class, not an "info" dict.

It resembles class a lot more now.
crypto: fix importing rpmfusion keys. (RhBug:1133830)

Converting keys between integers and their hexadecimal representation there
and back was a bad idea.
refactor: crypto: drop the integer keyid representation altogether.

Rename Key's properties to better reflect their meaning, drop
misc.KeyIdToRPMVer.
base: does not reinstall pkgs from local rpms with install command (RhBug:1122617)
history: fixed wrong set operation (RhBug:1136223)
groups: allow erasing depending packages on remove (RhBug:1135861)
py3: fix traceback in fmtColumns() on a non-subscriptable 'columns'.
refactor: split out and clean up the erase command.
goal: renamed undefined name variable
groups: marks reason 'group' for packages that have no record yet (RhBug:1136584)

6584)
locking: store lockfiles with the resource they are locking. (RhBug:1124316)

Otherwise it is not possible to e.g. run DNF twice for different build roots.

This required taking the responsibility of chosing where to put the lock file
away from the lock module (else it would need to learn about the conf
object...).

User still can not lock read access to root-writable MD cache or similar. The
commit merely keeps the old semantics: if it is locked by the same user, do
not let other process lock it again.
py3: add queue.Queue to pycomp.

Another 2/3 namechange.
bash-completion: new completion from scratch (RhBug:1070902)

Features:
  `--enablerepo`:
    completes by disabled repos (`dnf repolist disabled`)
  `--disablerepo`:
    completes by enabled repos (`dnf repolist enabled`)
  `install|update`:
    completes by available pkgs and if local path used (e.g. `./`),
    completes from local files which ends with `.rpm`
  `help`:
    complete only one command. I.e. `help help<TAB><TAB>` will complete
    nothing
  All options/args generates automatically

Used Elad Alfassa <elad@fedoraproject.org> code for completing
`install`, `remove|erase`, `update`, `info` commands.

Reference: https://bugzilla.redhat.com/show_bug.cgi?id=1070902
drop unused parameter of Base.verify_transaction().
rename: Base's runTransaction -> _run_transaction().

This one ugly method should at least be private and properly named.
remove: YumRPMTransError.

We never explicitly catch it and so for our purposes generic error raised by
Base._run_transaction() suffices.
fix: dnf.cli.util.* leaks file handles.

Plus a bunch of de-linting and cosmetics.
refactor: repo: separate concepts of 'expiry' and 'sync strategy'.

Related: RhBug:909856
doesn't upgrade packages by installing local packages (Related:RhBug:1138700)