[pgp] use full key fingerprints for identity bindings
Fixes #518
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 betweenKeyStoreinstances belonging to different accounts, cancelling writes after migrations. Instead, we dispose need in such ratelimiting with*_nosyncprivate methods used by bulk writes. - Modifies
PGPLegacy.has_valid_key_assignedto make it match learned short fingerprint against key fromKeyStore. Key learning is expected to be removed by fix for #519 (closed), so this is just to make everything work in current state.
Edited by Philipp Hörist