Partial Updates

JsonPatch and JsonMergePatch. 

- JsonPatch and JsonMergePatch for KV and Events
- Event Update (with conditional)
- Event Purge (with conditional)
- Get individual event
- Deprecate .put for create, in favor of a new .create
- Improved error handling
- Some perf tweaks (ie rawValue is lazily created)

Might as well use `URI.create` and let it bail out at runtime here:
https://docs.oracle.com/javase/7/docs/api/java/net/URI.html#create(java.lang.String)