Implemented as part of [ENG-10603](https://linear.app/comm/issue/ENG-10603/biggest-risk-factor-out-code-from-databasequeryexecutor)
`default_on_db_open_callback` was a huge blocker to move some code around and to make some fields non-static. It was needed only on native, so it was moved to `NativeSQLiteConnectionManager` as `onDatabaseOpen`.
`initializeConnection` was converted to be pure virtual to provide platform -specific implementation on each platform (they're different). To avoid code duplication, To avoid code duplication `createConnection` was introduced, but note that this is only andan util,ity; caching `dbConnection` was moved to derived clasessses.
Depends on D14662