#8088 - Adding a new layer for Database Configurations.

Adding a new layer for database configuration so that different providers can choose their way for managing database related configurations. For H2, this continues to follow the old way of getting the configuration from SystemEnvironment.