34404 create rev from json

Allow creating CDTDocumentRevision objects for use with remote data sources

Create factory method which takes an NSDictionary and document URL.
- Reject dictionary if it contains any _prefixed values which are not couchdb properties
- Create any attachments as CDTRemoteAttachments defined in _attachments

The bugs likely to occur from this are using the API with NSDictionary objects containing incomplete data.

@gadamc the CDT* overhead is to allow a developer to treat remote documents similarly to local documents in their application code, a convenience.