add message pre-processing

This is configured in the same way as :transform but under the :pre
key. Each pre-processor function takes a message and returns a
sequence of messages. Each returned message is run in a single
transaction.
add doc to default emitter and remove confusing comment