separated Solid provider ownership
I separated the Solid provider that creates and shuts down a database client from the provider used with a client supplied by the caller. This makes it clear who owns the client's lifetime and lets later configuration recover after a shutdown failure.