Cache conversation object in helper metadata

We currently load the conversation at least twice for each message processed (since we're using the message storing middleware) and we only ever read it there.