Use File::HomeDir's my_home() instead of my_data() to find config file

URL: https://rt.cpan.org/Ticket/Display.html?id=93678
Requestor: TIMB@cpan.org

I've never been a fan of File::HomeDir, which Test::Database uses.
I added that log message saying what path it was reading in order
to work out what the heck it was doing.  For me, on a mac, it's
using /Users/timbo/Library/Application Support/.test-database' :(

I see Test::Database is using the my_data() method which the
File::HomeDir docs describe as "data that supports an application but
*isn't normally editing* by the user directory should go into my_data."
(Emphasis mine.) So use of my_data() is unfortunate.  Using my_home()
would be more natural for more users.

I suggest using my_home() to locate the config file (with a fallback to
trying my_data() for backcompat if a file isn't found).
test loading each module individually
always call load_config(), and perform the check for standard config file inside it
be more strict about accepted keys within the dsn sections
add support for extension keys