Implement fetcher and updater for olm accounts on the keyserver
Summary:
This differential implements a fetcher and an updater for olm accounts on the keyserver. All changes to olm account are done in-memory on olm.Account instance. Therefore the updater takes just olm.Account instance since all updates are already in this object and it just need to be
serialized and stored in database.
Test Plan:
Find a place in the keyserver codebase to execute the following sequence:
- Use fetcher to get olm account.
- Change its structure by calling for example generate_prekey()
- Store it back by calling updater.
In each step use database inspection tool of choice, to examine that pickled account string in the database has changed.
Reviewers: tomek, ashoat
Reviewed By: tomek, ashoat
Subscribers: ashoat
Differential Revision: https://phab.comm.dev/D7568