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

This wraps any object or array in storage in a proxy that notifies the storage manager whenever a property changes. It uses DeferredTask to trigger a write to disk 5 minutes after the last change. I added some tests to verify inner-object and array manipulations, are there any other kinds of manipulations we need to test, I want to make sure we have the proxy handler notifying for everything.