[comm-opaque] Create opaque 2.0 facade for usage in Comm
Summary:
This exposes our usage of opaque 2.0 in a way that
many of the details are obscured from the calling code.
This should eventually allow for significant reduction
in code re-usage in current code base, as well as
open the door for exporting the facade as a wasm api.
https://linear.app/comm/issue/ENG-3277
https://linear.app/comm/issue/ENG-3148
Related: https://linear.app/comm/issue/ENG-3265
Depends on D7020
Test Plan:
Full end-to-end testing would need to be done in another diff.
However, there is a unit test in lib.rs which goes through a register + login workflow in rust.
cd shared/comm-opaque cargo test
Reviewers: varun, bartek, O1 Nix
Reviewed By: varun, O1 Nix
Subscribers: ashoat, tomek, atul
Differential Revision: https://phab.comm.dev/D7022