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
You probably just want to remove all underscore prefixed properties here, rather than specifying them.

I'd create an [NSPredicate](http://nshipster.com/nspredicate/) to do this, and use `-filteredArrayUsingPredicate` on the `_td_rev.body.properties` object.

Use a shared NSPredicate to avoid the creation overhead each time using the pattern at https://gist.github.com/gcox/1961202. I'm pretty sure NSPredicate will be thread-safe.