Python p2p chat client/server with built-in NAT traversal (UDP hole punching)