Multiple, simultaneously open databases work properly

We can now open databases with different paths and have the onCreate/onDestroy/close/etc. work properly.

In addition, you can close every instance of a database and re-open later, and the data is preserved.  Database data is automatically reset before every test.