cluster: support datagram sockets
dgram: avoid EventEmitter leak warning

When a datagram socket hasn't been bound yet, node will defer `send()`
operations until binding has completed. Before this patch a `listening`
listener would be installed every time `send` was called. This triggered
an EventEmitter leak warning when more than 10 packets were sent in a
tight loop. Therefore switch to using a single `listening` listener, and
use an array to enqueue outbound packets.
node: Expose process.tickDepth as a getter
net: Avoid tickDepth warnings on small writes
node: process.tickDepth is now a normal property

The getter is too magical
net: Always defer the _write callback