Content API

Optimistic concurrency

ifRevisionID and ifPublishedRevisionId are compared against the stored revision, so two editors racing on one document get a conflict rather than a silent overwrite.

shipped