To eventually support server-to-server authentication, the first step implemented in this PR is to add an originating domain to federated requests. At the moment this domain could be arbitrarily set (i.e. server2server authentication is not yet implemented here). But in this PR, some validation logic compares this domain to the allowList for incoming requests at federator level, if configured.
That domain can then in the future be used for:
* authenticating the domain with DNS/SRV or other means to validate that the request indeed comes from the claimed sender
* independent of authentication/authorization concerns, the domain may be useful for RPC calls that need to write data (e.g. to create a conversation).
In this PR, a field `originDomain` is added to the Request object in the protobuf definition, which is then turned into a `Wire-Origin-Domain` header when sending the call to a local component via plain http, in case that other component wants to make use of that header.