irdest-proxy: initial implementation of static proxy type
This MR adds a very simple proxy client that uses Ratman to bridge TCP traffic. It only works with static routes that need to be pre-configured on both ends of the pipe.
To configure routes we use a "peer mapping" syntax. For example:
0.0.0.0:8000 -> 98A0-4E0C-B295-876C-8986-82C8-84CB-31A9-B808-9D7C-6767-A929-7980-908D-379B-9E86
This configuration will take any traffic flowing into the socket at 0.0.0.0:8000
and proxy it to the given Ratman address. On the other side of this pipe we then have the following configuration:
127.0.0.1:8000 <- 98A0-4E0C-B295-876C-8986-82C8-84CB-31A9-B808-9D7C-6767-A929-7980-908D-379B-9E86
This will configure the proxy to take any message that arrives for the given address and forward it to the given IP address (so localhost on port 8000).
This client needs more testing before merging. In the future we may want to do more advanced setup mechanisms (for example using a tap device, or somewhat automatically announcing routes, etc)