Add function to open database or create one if it doesn't exist

This required adding a dependency on the "directory" module.
Automatically create or open database on start-up

The database file is now opened (created if necessary) when the
program starts, rather than requiring the user to click the "open"
or "create" buttons and select a file name.

Currently the database is stored in "~/.gramophone/database". In
the future, "~/.gramophone/" should just contain a preference file
which should contain the path to the database.