api: make Command available directly from dnf.cli.
rename: Cli._register_command() -> register_command().

The plugins call it so it should be public.
refactor: get rid of the return values from Command.run().

Output all the output to the logger from the command. Return anything on
success, raise an exception (caught from main.py) on error. Use the command's
object attributes to indicate whether we should continue with resolving or
setting an explicit command return value.
rename: YumTerm -> Term.
download_packages: propagate the librepo exception (RhBug:1035164)
py3: fix exception catching from 96128b8.