Sleep for a few milliseconds to simulate a real webserver
CLI should handle interrupt (and more soon)
Move WatchData out of Watcher and into View
Refactor WatchData into View, add support for stopping polls
Move retry functionality into the View

This allows each view to individually record and action upon its retry
state. Previously if one view poll was returning an error (as if a
particular endpoint was down), that would cause all views to slow their
polling on an error. In this new functionality, views independently
record their retry state.

Additionally, retry values are reset to 0 when a "success" happens. This
removes the edge case where retries would "leak" indefinitely for
eventually consistent systems.
Add tests for retrying fetch
Increase the test timeout to 10s
Move "once" logic into the View layer
Use a 0-time retry function for tests
Improve documentation for Watcher
Move CLI initialization into a bootstrap function for sharing
Create new channels on each loop
FinishCh is still needed
Add a test for SIGHUP
Do not close the FinishCh unless we are in once mode
Add an internal way to stop the CLI
Actually assign the shutdown channel now...
Do not return data on the errCh (for now)
Remove os.Interrupt
Make doneCh readonly