Add ability to attach extra data to transactions.

Summary:
The immediate reason for this is that we may want to filter message entries in
the transaction log based on folder names or attachment filenames, etc. But
that data may only appear somewhere else altogether in the log. Attaching the
data where we'll need it is much more convenient than needing to go looking for
it when we process the log.

Test Plan: Basic unit test added; sync manually run.

Reviewers: spang, mg

Reviewed By: mg

Differential Revision: https://review.inboxapp.com/D124