noroot: move to the new 'demands' mechanism to check the need of root.

Needs new DNF.

Related: RhBug:1062889
refactor: command plugins use demands mechanism.

See dnf commit 8830a1c.
fix resource leak in builddep.py.

Note that contextlib.ContextDecorator is not available in py2.
kickstart: use new public Command.usage & Command.summary api
builddep: added usage & summary & fix some PEP8 issues
copr: use common lib
use Command.usage & summary
cleanup imports & PEP8 fixes
move guessing chroot into function
move question to function argument
better wording of warning

contributed by Matthew Miller
define copr url as class attribute
move repo downloading into separate method
check root only for actions which really need root
move removing of repo into method
implement playground plugin

based on Copr plugin
better format output
copr: implement search function

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
copr: Fix the playground upgrade command.

It should actually remove all old repos first and then fetch all available Playground repos.
remove dnf.yum.i18n imports.

the module was never in the API spec and no longer exists.
copr: get rid of dnf i18n imports

Ales do not want it there.
Replacing _() by identity
Once it will exists, I will
change it to something shared amongst all plugins.
copr: some python3 migration

to continue I need python3-urlgrabber which is not done yet.
See: https://bugzilla.redhat.com/show_bug.cgi?id=985288