Update ActionCodeSettings to support link_domain
Discussion
Firebase Dynamic Links will stop working August 25th 2025.
Migration instructions indicate that to use a custom domain one should update usage of ActionCodeSettings to use linkDomain, see also in the Firebase Admin docs.
We currently depend upon generate_sign_in_with_email_link to generate email links, firebase-admin-python hasn't been updated with link_domain and currently only supports dynamic_link_domain, firebase-admin-node has been updated with support for linkDomain so I assume this should be officially supported, please let me know if this is not the case.
See https://github.com/firebase/firebase-admin-python/issues/883.
This PR updates ActionCodeSettings to accept link_domain and updates encode_action_code_settings to handle link_domain when constructing request payload. I have also added definition for new InvalidHostingLinkDomainError error.