- 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



Is this default a JRS-107 req? Because I remember discussions in #101 around not providing a default as Ehcache 2 does.
So depending on the answer:
* Relax the condition - do not throw an exception eagerly
*  Make this module provide the failsafe

Makes sense?