Implement maunally marking DM thread as read/unread
Summary: This differential implements marking dm thread as read/unread manually (by toggle).
Test Plan: Play around marking a thread as read/unrad on one device and ensure that changes are reflected in the UI of another device (if app is active) or result in correct badge updates/rescinds (inactive app)
Reviewers: tomek, kamil
Reviewed By: tomek
Subscribers: ashoat
Differential Revision: https://phab.comm.dev/D13238