[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_execution
because it causes interference betweenKeyStore
instances belonging to different accounts, cancelling writes after migrations. Instead, we dispose need in such ratelimiting with*_nosync
private methods used by bulk writes. - Modifies
PGPLegacy.has_valid_key_assigned
to 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