[keyserver] Introduce invite link handler
Summary:
The handler checks if the app was opened by a link. It also listens for link clicks while the app is running. If a user is logged out, clicking a link results in saving it for later. Then, when a user is logged in, we validate a link and navigate to invite modal, based on the result. The only case when this navigation won't happen is when the user is already a member of a community.
Depends on D7524
Test Plan:
Check if clicking an invalid link causes a modal to be shown with an error message.
Check if clicking a valid link causes a modal with join button to be shown.
Check if clicking a link to a community to which the user already belongs doesn't result in showing a modal.
Check if clicking a link has the same result when the app is closed and when the app is running.
I've tested all of these on iOS, and I have to do this also on Android.
Reviewers: bartek, kamil, inka
Reviewed By: bartek
Subscribers: ashoat, atul
Differential Revision: https://phab.comm.dev/D7525