Add explicit logging interface

Purpose
-----------

Previous version of logger provided only global functions what is inconvenient in case if you need to operate an interface object.

Implementation
--------------------

This commit introduces explicit `Logger` interface, changes all the loggers to the `Logger`, introduces `GetLogger` - global logger while preserving the original global functions.

@r0mant @jeremyschlatter please review.
It feels weird to have an interface with unexported methods. I see how you're using it, but maybe there's another way of doing that?

One suggestion: have `aggrLogger.add` take a `Writer` rather than a `Logger` and have `aggrLogger.infof` the package-level `infof` function directly. (same for the other severities)