Introduce CDTMutableDocumentRevision

Created CDTMutableDocumentRevision Class
Modified CDTDatastore to add create, update and delete APIs that use Revisions.
Added basic tests for new APIs
Modified CDTDocumentRevision to add mutablecopy method

Deprecated CDTDocumentBody
Deprecated CDTDocumentRevision method documentAsDictionary

Note: CDTMutableDocumentRevision does not handle attachments yet, this functionality will be added in a later PR
These failure mode tests don't invoke the new mutable document functionality so they just needlessly duplicate existing functionality.

I think they should be removed; you might want to create some tests to check other failure modes, like updating a document with bad attachments fails (the change is rolled back correctly and a new revision is not created)