The beginnings of a data store

This is admittedly a wimpy data store -- it's more like a caching layer. But it does pull a lot of logic out of ExaminePage, which is a step in the right direction. It's a nice performance win, to boot.

Highlights:
- Adds a bunch of tests for things like sorting & filtering.
- Pulls lots of data logic out into a separate module while miraculously not breaking said tests.
- Replace `everyOver` + `equals` with `_.isEqual`, which is simpler, clearer & amounts to the same thing.
It's not that `state` is `null`, it's that `store` is `null`. I'd like to keep all the null-checking out of the data store if possible—it's a nice invariant that the DataStore actually has data.