Implement SQLiteBatch::ReadKey, WriteKey, EraseKey, and HasKey
Implement SQLiteBatch::ReadKey, WriteKey, EraseKey, and HasKey

Summary:
This is a backport of [[https://github.com/bitcoin/bitcoin/pull/19077 | core#19077]] [11/26]
https://github.com/bitcoin/bitcoin/pull/19077/commits/bf90e033f4fe86cfb90492c7e0962278ea3a146d

Depends on D10553

Test Plan:
With clang-tiy:

`ninja`

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Differential Revision: https://reviews.bitcoinabc.org/D10554

Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc