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?


Also, CDTDocumentRevision hadn't had a creation method before. Might this be a bit out of place? If we stick with this idea, maybe we should put this method into a (Remote) category?