BREAKING CHANGE: The previous abstraction was confusing/misleading and was forcefully registering all connections as transient.
These changes invert the relationship a bit and change the injectable INonTransactionalDbConnection<TConnectionType> into scoped. It also allows us to provide an explicit connection factory for Sqlite and an extension method that's easier to use while preserving the very slim nature of the core data access package.