Ensure ranks are properly populated in spectated scores
[!WARNING] This - or an alternative PR fixing this same issue - must be merged before the next bump of game packages in spectator server. Without fixing this issue one way or another, all online replays after next game bump & deploy thereof will have rank D stored to the replay and read client-side.
RFC.
This begins to matter after https://github.com/ppy/osu/pull/28058, as with that pull the rank is encoded to the replay, so it must be correctly set on the server side. Otherwise spectator server will default to storing D rank, which the client will happily read and use raw without checking.
This is purposefully computed server-side rather than sent in replay headers for the reasons of simplicity and backwards compatibility. You could add score rank to the replay headers, but to ensure that replays recorded with old clients don't have D rank set, recomputing server-side would have to be done at least for the old clients. And you could argue recomputing ranks always server-side removes a tamper vector too (although that's not a very strong argument).
Also includes a sentry package bump in https://github.com/ppy/osu-server-spectator/commit/e1603205f57e0cd98058cb71b7f8b904d579488a - without this the server dies at runtime with newest game packages.