Allow delay between watch errors

When a watcher error occurs (due to some key being
watched being mutated) the current behavior is to
immediately try again. To avoid the thundering herd
problem a delay is nice to provide to avoid these
situations by introducing a sleep period between these
types of failures.
Merge pull request #567 from harlowja/watch-delay

Allow delay between watch errors