Improve Runner's API health checking and handling
What does this MR do?
Improves handling Runner's API "health checking" by:
- making the number of allowed failures configurable,
- making the interval for which an "unhealthy" runner is disabled configurable as well,
- adding some fields with useful values to the logged messages.
Why was this MR needed?
Please see #29218 (closed) and #29181 for context.
What's the best way to test this MR?
What are the relevant issue numbers?
Edited by Tomasz Maczukin