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?
We need to handle the case where documentURI has query parameters (especially revid, because the user may not always be referring to the winning revision). So the URI needs to be built up more carefully by extracting the path, query, etc from documentURI