[pgp] use full key fingerprints for identity bindings
Highlights of changes introduced by this MR:
- Introduces versioning in KeyStore database
- Adds migration which resolves all short key IDs to the records corresponding fingerprints
- Drops use of
delay_executionbecause it causes interference between
KeyStoreinstances belonging to different accounts, cancelling writes after migrations. Instead, we dispose need in such ratelimiting with
*_nosyncprivate methods used by bulk writes.
PGPLegacy.has_valid_key_assignedto make it match learned short fingerprint against key from
KeyStore. Key learning is expected to be removed by fix for #519 (closed), so this is just to make everything work in current state.