DONT MERGE YET... Review for now

  - Adapted `Store` SPI to current `Cache` API
  - `Ehcache` delegates to `Store` and handles `CacheAccessExceptions`
Do we want to use this pattern? i.e. provide the minimal set of data expected to seed the ValueHolder<T> instance with like so?