first big pack of logger changes

this doesn't really create the message or send it over 0MQ, but defines the logger interface