Adds a new field to CallLinkState for previously approved users.
Updates the frontend to pass this field to the backend on call creation.
Updates the backend to report newly approved users to the frontend, to update the database.
Calls will not be cleaned up until this reporting succeeds (or fails after multiple tries).
Adds some new testing features:
- The backend can be started with `--persist-approval-for-all-users-who-join`.
Normally approval is only recorded when an admin explicitly approves a pending user.
- On the frontend, DELETE /v1/call-link/approvals will reset the approval list for a room.
This is only available in debug builds, or with the `testing` feature enabled.
Co-authored-by: Jordan Rose <jrose@signal.org>