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.

No, I get that it's a convenience... and certainly a very useful one. My concern is just bloat and scope. It kinda sets a new precedence on the scope of the project and could lead to building more remote database operations in the future. In that respect, it's not my call.