only send if sendQueue is small
add test & cover commands
require global variables explicitely
add tests for the socket.
Merge pull request #4 from uber/0.0.4-dns-recovery.tests

[DNS Recovery]: Add a set of tests for the UDP socket module.
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
Merge pull request #9 from uber/0.0.4-dns-recovery.error-handling

[DNS recovery]: handle errors on the socket
Revert "Merge pull request #6 from uber/0.0.4-dns-recovery.cleanup-timeout"

This reverts commit edad747e76c7c63a63d9779d7e09fa604f174725, reversing
changes made to 6888dd75c055a313663cf0649c177da2dfd7a241.

Conflicts:
	lib/EphemeralSocket.js
	test/socket.js