Note that this is a very naive approach and will result in file access exceptions. This will be fixed in a further commit.
They can now only be instantiated from BeatmapDatabase and are abstract (to avoid misuse).
Also makes the connection private.
Also fixes the broken IPC condition
Moves import code to BeatmapDatabase.
Also adds event that notifes the song select when a beatmap is added.