Made use of PyampBase logging stuff in key binding...

Also did a minor sanitation of key names like 'alt   q' -> 'alt q'
Added beginnings of track discovery
Rearranged user config path and some local files...

In preparation for adding a music library as a database backed object :-)
Made pysqlite a requirement, made Library reference a database file...

and added methods to connect and disconnect from the database.
Created Tags namedtuple for tag info...

seeing as SQL is rather rigid about the data that a table row can contain.
Also added a method to create a Tags object from gstreamer's tag object.
Librally sprinkled SQL queries everywhere :-s ...

to actually write tag data to a database on discovery. This required
changing where we deferToThread for the blocking calls, because apparently
sqlite doesn't like sharing cursor objects between threads!
Added file_path to stored track data
Added @blocking and @with_database_cursor decorators in library...

and ditched the idea of a persistant database connection for now. Might
revisit how I can make a thread just to service this, if I have time in the
future.
Added library methods to query track database...

searchtastic!
Fixed path bug where we missed out the sub-dir of a file when trying...

to ascertain its tags! (I know, I need to unit test this stuff)
Made main app do a search of it's track database...

if it can't find the file specified on the command line!