The use of a single, shared socket that's never closed prevents node processes
from completing normally.
This change allows an optional shared socket to be passed into the constructor.
If present, node-statsd will use that (and will assume that the provider will
close it when appropriate). Otherwise, node-statsd will create new sockets for
each connection (the old, less efficient behavior).