This diff sets up code for keeping last_message_for_unread_check updated, but does not (yet) support excluding certain message types as outlined in ENG-9557.
We are doing one of two things for each change:
- Setting last_message_for_unread_check to the same value as last_message
- Where appropriate, replacing a get or set of last_message with a set of last_message_for_unread_check. I will explain these inline
Depends on D14328