introduce python logging system
Introduce the python logging module use with a singleton global logger for the library with an abstract logger class that gives the classes the methods to log with levels.
When the tool is used from the command line, it can be set up 3 levels of logging.
Classes inherit from the abstract logger class so all the print statements can be replaced by log methods with levels.