[lib] Extract useKeyserverRecoveryLogIn
Summary:
We can't rely on KeyserverConnectionHandler to handle recovery when SQLite database load fails in SQLiteDataHandler on native. That's because KeyserverConnectionHandler relies on SQLite data being loaded into Redux.
Instead, we'll factor out the logic for performing a keyserver recovery login, and use that code directly in SQLiteDataHandler in the next diff.
Depends on D11225
Test Plan: Part 4.6 of this test plan: https://gist.github.com/Ashoat/75ab690d5c53cdd68a51b02e03e27c58
Reviewers: inka, tomek
Reviewed By: tomek
Differential Revision: https://phab.comm.dev/D11226