Clear interaction after an event for it is logged in EL
Given that interactions end up with an event logged, there shouldn't be
a reason to keep an interaction active after it's corresponding final
event has been logged. See Tbayer's state graph.
This patch removes the current interaction if an event with that token
is logged, effectively finalizing it and making it impossible for the
token to be reused from the state tree again.
- Pass the logged event with the action EVENT_LOGGED so that the reducer can determine if it needs to do anything else.
- Since the interaction is removed, when undefined, guard against actions that use state.interaction freely. (Only allow BOOT, LINK_PREVIEW, and EVENT_LOGGED)