[lib] Introduce new operation queues
Summary:
Introduce the queues and fix the code so that the previous functionality works. These queues will contain operations that should wait for different conditions.
https://linear.app/comm/issue/ENG-9189/introduce-additional-operation-queues
Test Plan:
Tested the whole stack at once:
- Created an operation with a reaction that was received before an operation creating the message
- Created an operation with an edit that was received before an operation creating the message
- Created an operation with an entry edit that was received before an operation creating the entry
- Created an operation with thread subscription change that was received before the user became a member
In each of the cases verified that the result was correct and that the operation was removed from the queue.
Also tested that the migration works on the web by adding an operation to a queue, upgrading the app version, and checking if it appears in threadQueue.
Reviewers: kamil, will
Reviewed By: kamil
Subscribers: ashoat
Differential Revision: https://phab.comm.dev/D13363