[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
So the round robin feature has been removed from this PR as it wont work cleanly with the packet queue.

The round robin feature is a larger feature I will do in a seperate PR. Not really sure how we should round robin, either sharding or just cycling through the pool.