Major refactoring, API change

- Implementing an LRU cache for Etag validation - `this.registery`
- Created `this.register()` to simplify LRU registration & message to cluster
- Created `this.etag()` for standard Etag generation
- Fixed `this.write()` Etag response