Gets ArchiveReader out of WorkingBeatmap and delegates extracting stuff from it to subclasses. Should enable us to make an OnlineWorkingBeatmap or so.
This reverts commit 6f20473e65, reversing changes made to c76a495d3d.
6f20473e65
c76a495d3d
They can now only be instantiated from BeatmapDatabase and are abstract (to avoid misuse).
Adds base classes for difficulty calculations, hooks them up with carousel container, and adds a port of the osu difficulty calculator.