Added schema contracts to storage.clj
Moved diff-fn over to utils, schemafied it
Refactored some stored tests to use the new with-wrapped-fn-args