[lib] Tighten utils type to contain only thick threads
Summary:
It is inconvenient to have the assertions in a lot of places - the issue would become a lot worse after the rest of the stack.
This diff introduces a new risk - an attacker can create a new thread with the same ID as an existing thin thread. Not sure how useful this attack could be. Protecting against it is handled in https://linear.app/comm/issue/ENG-9468/introduce-additional-validation-of-operations.
https://linear.app/comm/issue/ENG-9823/fix-sending-notifs-about-leaving-a-thick-thread
Depends on D13698
Test Plan: Flow
Reviewers: kamil, angelika
Reviewed By: kamil
Subscribers: ashoat
Differential Revision: https://phab.comm.dev/D13842