Clean up store tests.

This pull request refactors the unit tests in `store` so that they run a heck of a lot faster (0.08s vs 20s). Tests are also broken down and isolated so that we have a better idea of what failures affect what functionality. I didn't have time to refactor the `Watcher` test but that runs pretty quickly.

/cc: @philips @xiangli-cmu