Implement regular heartbeats and track unhealthy slots
When heartbeatFn is provided, we now in addition to checking the heartbeat before an acquisition, continuously send heartbeats (every 5 minutes).
Only healthy instances are reported for acquisition. Not being able to reserve them should prevent an instance that has been recently been killed (spot instances) from picking up work.