Make DataStoreConnection not depend on DbContextConfiguration

This is part of Issue #641 which is about cleaning up the use of DbContextConfiguration. DbContextConfiguration is intended to help resolve dynamic services--that is, services for which the actual type/instance of service to use depends on the current context configuration. However, it has gradually spread throughout the code as a general purpose service locator. This causes dependencies to be hidden and creates a lot of coupling to DbContextConfiguration throughout the code, so I am making a set of changes to help fix this.

The main change here is to get the current options by depending on LazyRef<DbContextOptions>. I also needed to update the Redis provider to not depend on scoped services in singleton services.