dnf.cli.commands.err_mini_usage() changed name.

see also DNF commit b490558. This is why no plugins should use non-API calls.
build: simplify plugins/CMakeLists.txt.
tests: add __init__.py to make tests a module and use abs imports
Add a special ArgumentParser to parsing plugin cmd arguments and options

This makes it possible to add private command line option to a plugin there is
adding new command to dnf and also make it possible to define what arguments
is required and show the user if the wrong options/arguments is given.
download: update the download plugin with --source, --destdir & --resolve options

--source will download the source rpms.
--destdir set where the downloaded files are placed.
--resolve download uninstalled dependencies also.
build: install the download plugin