Issue 39

There may still be some rough edges here. In particular, it feels like `CacheWriter.write(K, V)` needs to be split into insert and update, and return a value. Also, an attempt was made to whip compute/write functions for bulk CRUD methods into shape, to blaze the trail for fixing #110... not super convinced they are correct now though.
I found this approach cumbersome... There might have been a good point when Chris & I imagined it that way two years back or something, but I don't see it anymore. Why couldn't all these things simply be closable()? 
This probably isn't the place to challenge this really, but I'd love to hear what people that applied this think of it. Also @chrisdennis do you remember what we were possibly thinking?