only send if sendQueue is small
Remove stream helper complexity.

On master (0.0.17) these stream helpers were removed. They
    do not belong in this library and create weight and
    complexity.
Merge pull request #3 from uber/0.0.4-dns-recovery.dgram-issue

[DNS recovery]: only send if sendQueue is small
Merge pull request #5 from uber/0.0.4-dns-recovery.remove-stream-helpers

[DNS recovery]: Remove stream helper complexity.
Remove timeout feature and replace with unref().

The EphemeralSocket had a timeout feature build into it
    so that the statsd client doesn't keep a CLI program open.

This was implemented in a complicated way with timers, I've
    removed that complexity and replaced it with an unref() call.
Merge pull request #6 from uber/0.0.4-dns-recovery.cleanup-timeout

[DNS recovery]: Remove timeout feature and replace with unref().
add a packet queue for coalescion
fix the tests
rename functions and methods to be more clear
Merge pull request #10 from uber/0.0.4-dns-recovery.larger-packets

[DNS recovery]: add a packet queue for coalescion.
Reset _writePos to zero.

This is a bug, we forgot to reset writePos
unref interval in packet-queue

The previous version of statsd-client would not keep
    a process open. This new version does.

To keep back compat we need to ensure that the statsd-client
    does not keep the process open.
Merge pull request #13 from uber/0.0.4-dns-recovery.bug-fixes

[DNS recovery]: Bug fixes
handle errors on the socket