[WIP] Refactor / Orchestrate API Parity

This PR is a Work in Progress. It's goal is to improve the client's API and to bring it up to parity with Orchestrate.

## API Improvements
- Values in results are stored in `json.RawValue` (`[]byte`) fields with helpers provided for unmarshalling JSON
- Support for `start` and `end` parameters for Event listing

## API Parity
- Next/Prev pagination helpers
- Conditional PUTs
- Purge Delete
- KV Listing