Materialize the gateway clients
We should materialize the gateway clients in the database, giving them persistence outside transfers. This would not only allow users to configure them, but it would also bring some new possibilities for configuring the gateway.
For example, by materializing the clients, we could restrict which network interface each of them is allowed to use. We could also restrict which partners each client is allowed to communicate with. This would indirectly allow users to restrict communication with some partners to a specific network interface. Materializing the clients would also indirectly allow users to restrict which protocols are allowed to be used by the gateway, since making a transfer would now require a client.