add batch writes in cache.

In this PR, batch writes is added to the in memory cache as mentioned in #182
Do we ever need to invoke Flush() from outside of the storage driver? We decided that buffering will be something internal to storage drivers.