format-events: rewrite using idiomatic Clojure instead of "imperative" loop-style
format-listing: rewrite using idiomatic Clojure instead of "imperative" loop-style
add-event: remove unnecessary conditional

Use update-in instead of assoc, and (fnil conj []) to handle missing
keys and get rid of the conditional.