The lack of this is currently failing a unit test on
`osu-server-spectator` current master:
https://github.com/ppy/osu-server-spectator/actions/runs/14193158383/job/39762243965#step:4:28
I don't think the failure actually matters because I don't think we're
using json serialisation on spectator server side anywhere (used to for
iOS at least, but I don't think we do anymore?), but probably better to
be safe than sorry.
In particular, when the exception is:
`AggregateException { AggregateException { HubException } }`,
then the existing code will only unwrap the first aggregate exception.
The overlay's code was copied from the extension so both have been
adjusted here.
After switching `UserLookupCache` to `GET /users/lookup` from `GET
/users`, multiplayer sort of breaks, since the former endpoint does not
return `ruleset_statistics`, which are used in multiplayer to show
users' ranks. Therefore, switch multiplayer to use the appropriate
request type directly.