initial database branch commit

Added database.py:
database.connect(path) returns a sqlalchemy.orm.session.Session object
bound to a sqlite database named cdp.db directly in path, in which to
store database.Artist and database.Track objects.
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()