Switched to OOP logging infrastructure

Logging is now done with a global Logger object, and the execution context it
works with is also global. Moves towards the possibility of exposing logging as
part of the SALVE API. Tests are failing due to I/O changes.