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.
I definitely agree that it's good to only define this in one place. But it seems a little crazy to make our data store depend on a visualization library (idiogrammatik, and hence d3), especially just for this one little constant.

Normally the solution would be to pull out a module that both Idiogrammatik and DataStore could reference. But that's trickier here since Idiogrammatik is its own independent NPM package.

Thoughts?