[SCHEMA] Simplify transaction log construction; rework delta sync.

Summary:
Implement a leaner and meaner transaction log:

* Instead of storing an ORM-derived 'delta', only store a snapshot of the API
  representation of the versioned object. We weren't using the delta for
  anything.

* This lets us simplify the rather hairy ORM-history-inspection we were doing
  to figure out whether to create an update revision or not. On versioned
  objects, we just look at column-mapped attributes, and at relationship
  attributes named in the `versioned_relationships` property. If any of these
  have changes, we create a revision.
  (We don't look at all relationship attributes, because you don't
  need to version a Message instance if it gets a new ImapUid, for example.)

* Simplify and consolidate the revision creation code.

* Simplify the construction of delta sync responses.

Fixes T567.

Test Plan: Unit tests added.

Reviewers: spang, kav-ya

Reviewed By: kav-ya

Maniphest Tasks: T567

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