Our new chat member list sidebar organizes the list of members in a chat by their role.
This diff introduces a new selector called `threadMembersSelectorForThread` and given a `threadID`, `threadMembersSelectorForThread` will select all the chat members for that thread and return them in a map where the key is the `roleID` and the value pair is an array of all the chat members that are part of that role.
The one special case we needed to consider is GENESIS chats. GENESIS chats don't have the list of members populated in the community root, so in these cases we should just use the current thread info to select those thread members
Linear task: https://linear.app/comm/issue/ENG-5977/group-each-member-in-the-community-by-role
Depends on D10900