Logger serialization

Various improvements to the logger to allow serialization/deserialization so that operations run in separate processes can provide feedback to clients. This also allows log files to be written by worker processes started from a Remus server, simplifying debugging (because Remus dumps console output to /dev/null).