Was causing BeatmapSet's Set to run *after* newer events were received.
Also fixes a lot of bad interactions and simplifies further.
oops
Tests accompany of course
Also exposes SelectedBeatmapSet.
Expand content of BeatmapInfoWedge