add new method LocalEndpointForConnectedRemoteEndpoint(), and modify
LocalEndpointFor() to work when the socket is connected.
lets a UdpTransmitSocket find out which local port it's using to
send, allowing the possibility to open a receiver socket on that
port and thereby send and receive on the same local port. This
makes things easy and symmetrical for client/server uses; the server
can simply reply to the ports from which it receives client
messages.
includes code from @RossBencina, after a discussion in August 2014.