[UDP] Drop resend timer to 600ms
[UDP] Drop UnreliablePing/PongMessage and base on activity

1. For UDP, we need only send a Ping that is reliable. The ACK will serve
as the pong. Furthermore, in the off chance that each ping is dropped, the
connection may have dropped on ping timeout. It's likely to be a very poor
connection, but we can still potentially maintain it. Making ping reliable
(given the much shorter resend than timeout timer) will avoid this.

2. Pings serve two purposes. To maintain the connection through NAT and
to serve as a connection timeout in the event of a dirty disconnect. If
messages are actively being sent, we do not need to send additional
messages. The time until ping is now based on the last time any message
was sent, not strictly a ping timer.