Major refactoring, API change

- Implementing an LRU cache for Etag validation
- Created `this.etag()` for standard Etag generation
- Fixed `this.write()` Etag response
- Created `this.register()` to register URLs with LRU & announce to cluster
- Created `this.stale()` to invalidate cache in on disk
- Fixing `this.cache()` regression
- Changing how `compressed` probe will fire with a local asset