Add TestScopedOfflineClock

Setting the offline clock pointer is error-prone, as a test must ensure it
resets the pointer back to null, or a later test will fail. TestScopedOfflineClock
overrides the clock in a more safe way.

Bug: 906903
Change-Id: Idd88c35da90bddcb3b7006c7b33547c5b36b02d2
Reviewed-on: https://chromium-review.googlesource.com/c/1351748
Commit-Queue: Dan H <harringtond@google.com>
Reviewed-by: Carlos Knippschild <carlosk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611970}
7 files changed