remove CacheLoader interactions from Ehcache.putIfAbsent() and Ehcache.replace(K, V)

This leaves only CacheLoader calls in get() and getAll() paths.

The return value of putIfAbsent() in the face of CacheAccessException I'm still not really sure about. I don't think I changed what it was from the previous code, but I don't understand it

I still have an uneasy feeling about a lot of the exception handling code in that entire class, but I agree with your comment and have committed the change suggested