Allow users to edit datastructures

Add an "edit" button to collection views. Users can edit and save EDN and the underlying datastructures will be updated.

I had to be careful with the save process because
```clj
(om/update! data new-data)
```
triggers a re-mount of the component, which caused an error when we tried to set state on the newly unmounted component.

Also add support for displaying dates.

This addresses https://github.com/noprompt/ankha/issues/5 and uses callbacks rather than channels because it felt simpler. Ideally I'd like to find a way to factor the editing component out into its own subcomponent, but it ends up pretty intertwined because of the ways the current state of the editor changes what should display. Thoughts welcome!
If you want to add predicate functions for these (ie. `enter-key? [e]`, `escape-key? [e]`) that's fine with me. If not, that's fine too.