Implemented as part of [ENG-10603](https://linear.app/comm/issue/ENG-10603/biggest-risk-factor-out-code-from-databasequeryexecutor)
Another follow-up to D14736.
Finally, we don't have any platform specific code for `SQLiteQueryExecutor`.
If `SQLiteConnectionManager` pointer is not passed to constructor, we create `WebSQLiteConnectionManager` because we don't have keys to call create `NativeSQLiteConnectionManager`.
I am also considering rename:
`NativeSQLiteConnectionManager` -> `EncryptedSQLiteConnectionManager`
`WebSQLiteConnectionManager` -> `NotEncryptedConnectionManager`
This perhaps makes it even more readable and more platform independent.
Depends on D14738