implement dnf.logging module

this provides a more reasonable version of dnf.yum.logginglevels, though
leaves things to be desired. For instance, the logging can be configured
so WARNING messages are not shown yet DEBUG messages are. This is allowed
for CLI compatibility ('-e' and '-d' options).
tests: unified stdout/stderr patching.
add the logger for rpm transactions.
Use the new DNF loggers instead of the old ones.

This drops all uses of the 'verbose' loggers.
Fix how checking whether the CLI is verbose is done.
semi-automatically migrate the old logging levels to the new ones.

INFO_* is INFO, DEBUG_1 and DEBUG_2 is DEBUG.
Migrate the remaining DEBUG_3 and DEBUG_4 levels.

This map to SUBDEBUG in the new scheme of things.
finally, setup logging via the new module.
remove: dnf.yum.logginglevels
doc: fix documentation build.
remove: dnf.const.LOG_TRANSACTION no longer needed.
logging: do not do logging.basicConfig() from CLI.

it's a trap.
put the name of the loglevel into the logfiles
logging: replace setup_from_dnf_levels with a helpers that takes the conf object.

It's less clean but a lot neater. Plus with syslog there's going to be more
values to be passed from the conf. The logging.setup method stays pure.
logging: in logfiles, mark the start of the logging session.
doc: the logging setup.

Deprecates the 'errorlevel' config option and '-d' and '-e' command line
switches. I'm even thinking about removing the errorlevel setting completely,
for there's no point not showing e.g. the WARNING messages yet still showing
DEBUG. And to disable all output one can introduce '-qq' or something similar.