Not entirely sure why they were failing previously, but the most likely
explanation is that by freak accident some mock requests would
previously execute immediately rather than be scheduled on the API
thread, which would change execution ordering and ensure that
`ChannelManager.CurrentChannel` would become the joined channel, rather
than remaining at the channel listing.
The explicit detach call was removed from `updateBeatmapSet`, causing
this to occur. We could optionally add it back (it will be a noop in all
cases though).
Noticed in passing.
```
Exit code is 134 (Unhandled exception. System.NullReferenceException:
Object reference not set to an instance of an object.
at osu.Game.OsuGameBase.onExceptionThrown(Exception ex) in
/Users/dean/Projects/osu/osu.Game/OsuGameBase.cs:line 695
at osu.Framework.Platform.GameHost.abortExecutionFromException(Object
sender, Exception exception, Boolean isTerminating)
at osu.Framework.Platform.GameHost.unobservedExceptionHandler(Object
sender, UnobservedTaskExceptionEventArgs args)
at System.Threading.Tasks.TaskExceptionHolder.Finalize())
```
These used to work because there was a huge blocking load operation,
which is now more asynchronous.
Note that the change made in `SongSelect` is not required, but defensive
(feels it should have been doing this the whole time).