also changed batch-commit of multiple sets to database.
This should avoid any potential issues with intertwined transactions on the same connection while still allowing higher throughput when importing.
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.