[lib] Filter permission strings with member_ prefix for non-members
Summary: This diff implements the primary function of our new member_ prefix: to filter the permission string if the user is not a member of the thread in question.
Test Plan:
The whole stack was tested as follows:
- Unit tests from D9686, which toggle user-surfaced permissions on and off and make sure no difference is caught. This ensures that the original issue introduced in D9686 isn't reintroduced
- Careful review of each descendant permission removed in D9686
- Create a community as userA and add userB. Grant tagging permissions to all members. Make sure userB can tag inside non-root channels
- Do above, then create a channel without userB, and make sure userB can't tag there either (or do anything other than view). This is the repro described here
- Do above, but also create a thread inside the channel (as userA) and make sure userB can't do anything inside the thread other than view, until they join the parent channel
Depends on D13013
Reviewers: tomek, inka
Reviewed By: tomek
Differential Revision: https://phab.comm.dev/D13014