Centralize access to a shared logger object
Since we don't pass the application object to various leaf functions in
the orchestrator, we don't always have a way of accessing the
application's logger object. So provide a simple module that allows
callers to obtain the global logger object or install a new one.