fixes #26 made lock recovery more efficient by caching and batching

Shouldn't you use maximumSize() rather than maximumWeight() as each item in the cache has the same weight?  Also, would timed based expiration make sense too?