Configuration database is now lazily created and loaded.

Removed Open and OpenName functions, instead we have the new
OpenConfig that has the same functionality as OpenName. This
hides the fact that we use boltdb as our backend.

Added TestConfiguration function that adjusts global state to be
pointing to directories and files suited for tests. This should be
called in any test code that expects to touch the config package.

Database now creates any missing parent directories before opening
a new database.
missing file on previous commit
Added tests for TestConfiguration
Added database retrieval tests
Added TestDatabaseName body
Expanded db in filenames to database