Store typed events differently

This PR requires ckozak/gutterball-events.  We should point this at master once that goes in (or merge this into the other one first)

Rather than storing just the new entity, store the entire event
with the entity and principal json string replaced with the parsed
value