34404 create rev from json

Allow the creation of CDTDocumentRevisions for use with remote data sources

Main question is the use of 4 constructors, 3 are just convenience constructors. Should the constructors without a sequence number  parameter be left for uses with remote databases where sequence numbers are not needed, or removed waiting for the user to fill it in with 0?


I've gone ahead and changed the signature to take an NSDictionary to reduce to overhead for Kevan.