Policy that determines wait time between health check invocations

Changes the default policy to exponential backoff rather than fixed 60
seconds
The other tests don't actually schedule health checks to run. They use a mock executor service instance. This one uses a real executor with a thread.