Support for requesting a database instance multiple time.

You can now request the same database multiple times, and get back the same instance. This allows you to request the database by name in different places in your code, and not worry about the two database instance fighting with each other. (The previous behavior was clearly broken, and resulted in very strange issues.)