changes to program.py to use database.py

* program.load_database() now uses the new database.py stuff.
* Modified program.MusicThread and program.choose() to support when
ARTIST_BUFFER_SIZE and SONG_BUFFER_SIZE are greater than the number of
artists or songs.
* Moved database-building into MusicThread, because I don't know how to
pass sqlalchemy the sqlite3 flag to allow multithread database access.
* program.shut_down() now try:'s everything so that it won't completely
fail if something goes wrong in program.start()