[crypto] implement prekey rotation in OlmAPI
Summary:
Shared code with prekeys rotation.
Web part should match native C++ version implemented here.
This code could be vulnerable to multiple promises modyfing olm account but fixing this is tracked in ENG-6768.
For now matching code implemented in native - but we should mark prekeys as published before uploading as described and tracked here. (cc. @varun)
Depends on D11120
Test Plan: Modify shouldRotatePrekey method to return true and check if it works.
Reviewers: marcin, varun, tomek
Reviewed By: tomek
Subscribers: ashoat, varun
Differential Revision: https://phab.comm.dev/D11154