A continuous changes feed will decay with an active
database as the controller mailbox is shared with the
db updater notifier. This patch spawns a separate
process to receive the 'db_updated' messages.
This changes the message protocol between the db_update_listener client
and coordinator so that replies are tagged with the 'state' atom and
Pid of the coordinator process. Hopefully it avoids unexpected
messages being treated as the State. It also avoids sending a timeout
message unless a 'get_state' request has arrived. Previously we'd send
extra 'timeout' messages and end up somewhat out-of-sync.
Using a gen_fsm for the coordinator would seem to be the way to go here.