Bug 893276: Only write simple-storage to disk after it has been changed.

This uses an asynchronous hash function to only write when the data is changed. I've used MD5 because it's cheap to calculate and we don't care much about collisions.