In conversation view a row's unread state was computed from every message in
the thread, in any folder, while marking the row read only touches the messages
shown in the current folder. A thread with an unread message in another folder
(or Sent rows for an unread thread) looked unread and stayed that way. The
unread count is now taken from the same messages the row stands for.
The sidebar Inbox count moved by one for any row action or bulk action. It now
moves by the number of unread messages the action actually flips, only in the
Inbox, and bulk read/unread updates the conversation rows too.
Permanent delete returned how many messages it skipped but the client ignored
it, so a partly failed delete looked like a success. It now refreshes the list
and shows a message.
Co-authored-by: Can Kirca <9063990+cankirca@users.noreply.github.com>