udprelay: goroutine-per-packet was dumb
udprelay: only allocate the size of the packet we read
udprelay: handle signals and cleanup
udprelay: tweak reconnect logic