[native] Support the edit_role action on the keyserver
Summary:
This should be the final diff in the editing flow for custom roles, adding support on the keyserver to now support editing roles. It's important to note that since we pass the edited role name and permissions, we needed something concrete to identify what role is being edited, so that's why there is a new parameter representing the existing role ID that should always exist if being edited (it's optional since it's only defined in the editing flow, but not in the role creation flow).
Depends on D8524
Test Plan:
Created a new role without certain permissions (specifically manage pins and react to messages), tested to verify that a user assigned that role lacks those permissions client-side. Then, edited the role to include those permissions and observed that the same user now could manage pins and react to messages
Reviewers: atul, ginsu, ashoat
Reviewed By: ashoat
Subscribers: atul, ashoat, tomek
Differential Revision: https://phab.comm.dev/D8564