ehcache/ehcache3 — pull request #210 by timeck (2014-12-06 06:42:19+00:00)
Title: - Implement 107 wrapper (issue #70)

Okay let's start this review, see how far we get. Will be very surprised if there are *not* iterations on this.
Once we start picking apart pieces of it as well I can make some smaller commits that isolate the changes

Notes:
- Implements the 107 API
- includes Louis' changes for issue #21
- Passes the TCK but there are many other tests needed:
- unit tests of a good deal of the 107 module code and things the TCK doesn't cover
- tests for changes made in ehcache proper
- `Store` has new variants of computeXXX() methods that control what happens when the compute function returns the same thing as the existing value in the store
- Ehcache `Expiry` now has a method for update vs. create.
- There's a relatively hacky class `Jsr107Cache` that exposes cache operations unique or with different semantics that ehcache
- There is no integration with `ResilienceStrategy` for the cache ops that are unique to 107
- Some stats changes:
- cache "hits" registered for conditional ops that fail, but for which the key was present
- same thing for "misses" when conditional ops fail b/c the key doesn't exist
- removed the clear() methods from our statistics classes. That is a 107 only thing now