i18n: translate repo sync error message.
Minor spelling
renamed testcase to distro_sync_all
added distro-sync explicit packages support (RhBug:963710)
changed documentation of distro-sync command
tests: tidy up the imports, in particular import mock from support.

it's a less code, more predicatable and in theory a tiny bit faster as
only one import is attempted for Py2 per test file.
remove: Base.download_packages()' inner function mediasort().

librepo does not respect the order of the packages anyway.
drpm: fallback to .rpm download on drpm rebuild error. (RhBug:1071501)
repo: log more than nothing about a remote repo MD download.
cli: get rid of ridiculous slashes and the file:// scheme on config read fails.

Related: RhBug:1071212
Do not terminate for unreadable repository config. (RhBug:1071212)

Related Yum bug: RhBug:809598
groups: fix grouplist crashes with new libcomps.
doc: update README and FAQ with the unabbreviated name.
rename: dnf.persistor.Persistor -> RepoPersistor.

It is unfortunately repo specific since it takes cachedir.
logging: log plugin import tracebacks on the subdebug level.

Else they can mess up a '-v' CLI big time.
groups: add dnf.persistor.GroupPersistor(), to store the installed groups.
groups: add support for marking/unmarking groups.
groups: add Base.group_remove().

Used from CLI.
groups: add installing groups the object marking style.
Allow installing optional packages from a group. (RhBug:1067136)