Was causing there to be two kinds of missing `TournamentBeatmap`s: one
with missing `Beatmap == null`, and one with `Beatmap == new
APIBeatmap()`. In particular, they would appear differently in UI
(either as "unknown - unknown", or the intensely enigmatic " - ").
Rather than continuing with `ID` or `Id`, this should follow the new
standards and use `OnlineID` instead. Only updating this since it's a
newly introduced class.
Due to equality being based on `ShortName`, it was feasible that the
re-fetch exited early (in bindable shortcutting logic) causing the
ruleset's `OnlineID` to remain `-1` or something equally wrong.
Resolves issue pointed out at
https://github.com/ppy/osu/discussions/17538#discussioncomment-2471746.
Historically, tournament client may have written incorrect `OnlineID`
values. We wanted to use `ShortName` to re-fetch the ruleset. This test
ensures this flow is working correctly.