Add tsnet server.ListenPacket(), which returns a
net.PacketConn.
Support udp in the tsnet Dial().
Additionally:
1. Add a tsnet TailscaleIPs() function to return the IP
addresses, both IPv4 and IPv6.
2. Fix a deadlock in tsnet server.Close() where it
acquired s.mu.Lock() and then called listener.Close()
which also tried to acquire s.mu.Lock(). This caused a
hang in the new TestPackets test case.
Updates https://github.com/tailscale/tailscale/issues/5871
Signed-off-by: Denton Gentry <dgentry@tailscale.com>