initial database changes

database now functions as a contained unit, though it only has the
db.connect(path) and db.build() functions right now. Perhaps it should
be a DatabaseController object?
encapsulates database interaction in DBController

* database.DBController only supports a .get_artists() method for now.
* new util.is_supported(path) function to check format support directly
from path
* update program.py to reflect database changes; also moved choose()
function into MusicThread.
fix bugs from last commit; clears old code; more

* Fixes lots of bugs introduced in the last commit, which was an
untested commit.
* database no longer uses DBController