RFR: Marconi Polling Backoff

If Marconi is failing, we want our poller to back off.

This branch implements a new `IntervalTimer` utility class, tests it, and uses it in the job client.