This brings us very close towards being able to decrypt messages that were sent using Megolm.
This MR does the following:
- Extend the session cache to support the caching of Megolm sessions
- check olm encrypted events for m.room_key events when decrypting successfully
- search for a session to avoid duplicates and the creation of a new one if previously non-existent
The relevant section in the E2E impl. guide is here: https://matrix.org/docs/guides/e2e_implementation.html#handling-an-room-key-event