WIP: Capture per-feature counts for snapshot

This isn't quite finished. I'm tempted to wait until @domdere has finished with adding a new metadata file and storing the values on save once. Unless we think this is worth doing sooner.
Yeah I gave up, although wondering if we should tweak the Map implicit in argonaut? I'm sure there's a good reason you have to use `String` as the key