Chutney should avoid waiting for set times: wait for conditions instead

Chutney has a few places where it waits for hard-coded amounts of time. It should wait for events to happen instead.

For example:

  • re-trying connections (#22131 (moved))
  • waiting for bootstrap
  • anywhere else we use sleep()