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?
My thoughts behind this, is that it reduces network requests by caching the data in memory, I could change this so we cache the data into a file on disk instead rather than following the current iOS implementation