dgram: change Socket.bind() to return itself

This commit changes `lib/dgram.js` Sockets to, when
they are bound to a port / IP, return themselves. This
is done in order to allow chaining of methods and be
in accordance with the `lib/net.js` library.

PR-URL: https://github.com/iojs/io.js/pull/214
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
dgram: changes Socket.close() to return itself

This commit adds a return statement to the dgram.Socket.close()
function that returns itself after it finishes. This follows along
the functionality of the more popular and, dare I say, father-library
`lib/net.js`.

PR-URL: https://github.com/iojs/io.js/pull/214
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
doc: be specific about the unit of `maxBuffer`

The maxBuffer option was not self-documenting, so document the unit and
its effect.

PR-URL: https://github.com/iojs/io.js/pull/209
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
dgram: make 'close' event async

Emit the close event asynchronously, after the close, as it is with the
net/http close events.
dgram: close() should accept a callback

Like net, http, and https server.close, and socket.end(), etc.
doc: add tls server.close() callback docs

Also, tests to confirm its existence.