Periodically verify that health checks are still being executed

An Error (e.g. out of memory) can prevent a health check from being
rescheduled to run again. This prevents the end point from ever
being marked healthy again.
Can we add a test for this? Maybe something like, but I'm open to other ideas:

1. Mock up the health check executor and the ServiceFactory. Have the ServiceFactory's isHealthy method error out the first time it runs.
2. Capture the health check rescheduler runnable.
3. Error out on an execution so a health check gets scheduled.
4. Run the health check (which should error out).
5. Run the health check rescheduler.
6. Verify it reschedules.