Adopt common timeout/retry/backoff strategy for system tests.

From #1609 (comment)

We have a number of sporadic system test failures (#1085, #1089, #1100, #1104) due to "eventual consistency" in the tested APIs. We have adopted a set of ad-hoc (and obviously not 100% reliable) strategies for working around the delays involved.

The point of this issue is to adopt a consistent policy / mechanism across all system tests for addressing delays caused by eventual consistency.

@jonparrott can you comment here, collecting your thoughts expressed elsewhere?