[DNS recovery]: Implement and use a dns-resolver

This instruments the UDP ephemeral socket to use a DNS
    resolver and ask it for the IP of the host.

In this PR:

 - Tests for the statsd-client itself
 - Added Messages data structures for statsd
 - Created a DNS resolver that resolves a DNS host.
 - Updated the ephemeral socket to use DNS resolver.o


cc @Matt-Esch @mranney @jcorbin @kriskowal @sh1mmer
I seems weird an ephemeralSocket should round robin inside itself based on sharding on a key. Or if it does we should make it more clear that it's a connection pool. It should also create one socket per IP and then round-robin between them.