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.

I see no reason why not, when we want to support that we can just expose the constructor, the document URL will just have to be the base url for the resource so something like http://mystorage.service/username/