Adding a Logger interface, tests and using it.

This is so we can have background operations that log,
and keep the logs. We can then display them on a web page
or on the console depending on the usage.
(this is part of vtctl refactor).