add ActionMessageManager

Still a WIP.
This will be used to glue machine only “action messages” from a channel to associated
messages in another channel, indicating that an action was performed. For example, a
journal may have an action channel whose messages represent the “Favorite” action -
i.e. each message points back to another message in the main journal channel to mark it as a
favorite.