Refactor NotificationsCryptoModule. Add methods to initialize olm notifications session.
Summary:
This differential adds methods to NotificationsCryptoModule to initialize olm session with the keyserver prekeys and one time keys.
Additionally the class is refactored so that every call to in-memory CryptoModule instance is wrapped around file deserialization
and serialization. This is both to ensure that any change to in-memory CryptoModule is reflected in persistent storage and to
avoid repeated code.
Test Plan: Build the app. Even though it is possible to test those methods as they are in this differential it might be cumbersome. Very next differential will use them in CommCoreModule making it easy to test them. If any reviewer requests to enrich test plan for this diff, I will provide C++ code that tests those methods but for now deferring more thorough testing for the very next differential.
Reviewers: tomek, atul, bartek, jon, ashoat
Reviewed By: atul, bartek, ashoat
Subscribers: ashoat
Differential Revision: https://phab.comm.dev/D7383