Issue 47

Added getAll(), putAll() and removeAll() implementations with reader and writer support. The code in the cache layer should be versatile enough so that the store layer has a lot of flexibility on how it wants to load the keys.
Right, but removeAll() much like putAll() use Store.compute(). Key/values are required for putAll() so removeAll() has to make use of the same method despite the fact that values aren't needed.