Be more careful about nulls

Though, as it happens, it doesn't do anything.
Don't duplicate messages

I think this is the cause of the duplicate message on filter problem. The race
is that the database query returns with a message and the replay buffer is
processed BEFORE that message makes it to the ConnectionManager. The tail is
then in LIVE-STREAM state and delivers a duplicate copy of the message.