Add cache recorder impl, tidy pagination up, increment version
CacheRecorder allows for recording of side effects and reapplication of said effects to the response for cached calls. Tidied up pagination to not slice assets that aren't larger than the max size (fixes pre-paginated result sets)