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.
These default (`[]`) values should be moved into the datastore; e.g. if `state` is `null`, then `[]`.