util/time.* uses multiple clocks depending on circumstances like if mock time is set or if templated
GetTime<>() is called. This can result in unexpected behavior where registerProof() uses a different
clock than when SetMockTime(GetTime()...) is called in unit tests.
Example failure: https://build.bitcoinabc.org/viewLog.html?buildId=416835&buildTypeId=BitcoinABC_BitcoinAbcStaging&tab=buildLog&_focus=1325
This patch makes this specific unit test predictable by setting mock time before any proofs are registered.
The root cause may be fixed with additional backports to util/time.* that make the clock selection more
consistent (see backport core#24871 and core#21110).