This differential implements badge count and rescind handling in the NSE/CommNotificationsHandler.
Notes on rescinds:
- The difference between thick thread rescind and thin thread rescind is presence of notificationId/rescindID property.
- Thin thread rescinds remove single notification while thick thread rescinds remove all notification for particular therad.
- In future we want thin thread rescinds work like thick thread rescinds.
Notes on badge count:
- Badge count value is calculated based on the sum of unread counts for each keyserver and the size of unread thick threads set.
- Visual notifs and badge updates add relevant threadID to the unread thick threads set. Rescinds remove threadID from unread thick threads set.