op-dispute-mon: Use game data from previous update cycle if update fails
Description
Cache the game data from previous update cycles and use it for any games that fail to update in this cycle. Updating game data is an all or nothing thing to avoid getting a mix of old and new data in the same game.
A new metric is added to report the time the least recently updated game was updated. Metrics could already alert on the number of failed games being > 0 for some period so no new alerts strictly needed. The new metric would allow for extra tolerance in a situation where there were a lot of errors, allowing some failure every update cycle so long as it wasn't always on the same game. Mostly the new metric is just useful to show on dashboards and more meaningful that the current "Last Output Fetch" time.
Tests
Added unit tests and ran locally to confirm behaviour.
Metadata
fixes #12454