Replicate jobs by key for correct watches

In order to track additions and deletions, replicate the watch results
per watcher.  Compare and persist notifications against the replica in
between notifications in order to build the change list.
Heartbeat watch responses

Send a comment at the --heartbeat interval for every watch.