Restrict special datetime handling to parts of messages

This is an alternate implementation of #826.
The payload is random garbage from a log file. We can't instantiate a message object with `_process_fields=False` because that breaks when mandatory fields are missing and we can't use `_process_fields=True` (the default) because that adds missing fields.