Issue #143 Fixing Ehcache.putIfAbsent to return previous value

Now, I think all these Concurrent CRUD actually miss tests at the `Ehcache` level... Looks like this requires some new task!
I think this is dodgy. At least for the case when the value of `inCache` is loaded from SOR (and possibly for stores that use serialization/copying for values, regardless of the presence of a loader), this reference equality check will surely return false no matter what, so you want to have instead:
    
    value.equals(inCache) ? null : inCache;