This patch introduces a new LoggingTool framework, making the log4j-based implementation optional. It:
- introduces ILoggingTool
- introduces a LoggingToolFactory to instantiate a logger
- makes the log4j LoggingTool optional, and now available from the log4j module
- introduces a SystemOutLoggingTool for logging to STDOUT
- allows registration of custom ILoggingTool implementation with the LoggingToolFactory, with an example in the unit test class
The patch was written against master, and can be applied with 'git am'.