refactor: dnf.logging, put the setup() methods inside a new class, Logging.

later it will be used to hold stdout and stderr handlers so we can access
them easily later without having to dig through undocumented logging
internals.
logging: setup provisional logging even before config.

Fixes the 'No handlers could be found' error occuring when config itself fails
and the error message itself (e.g. file missing) cannot be shown because no kind
of logging has been set up yet.