Create Revision from JSON

- Create a document revision with attachments from a Map of <String,Objects>
- Create SavedHttpAttachment class


Only one question, If a URISyntaxException is thrown, should this be propagated back to the user, or should an IllegalArgumentException or IOException should be thrown instead?
Is it worth pulling out all of these properties? Some of them aren't used