[identity] remove OTKs in chronological order to make sure there are never more than 100 keys per olm account
Summary:
this diff is pretty big. high level summary:
- reduce the number of olm keys per account per upload to 24. We might need to delete as many keys as we are uploading, so 24 keys * 2 accounts * 2 operations (put + delete) = 96. we also need to do one update call per upload to update the otk count for each olm account. that's 97 total operations, which is under the 100 operation limit per transaction.
- add a new helper to create the delete operations
- update helper responsible for creating update operation. now responsible for update and delete operations.
- integration tests to make sure that excess keys are removed correctly and that the upload size limit is also enforced
Test Plan: new integration tests, some manual testing
Reviewers: bartek
Reviewed By: bartek
Subscribers: ashoat, tomek
Differential Revision: https://phab.comm.dev/D11695