dgram: introduce `reuseAddr` option

Introduce new signature for both `dgram.createSocket` method and
`dgram.Socket` constructor:

    dgram.createSocket(options, [listener])

Options should contain `type` property and may contain `reuseAddr`
property. When `reuseAddr` is `true` - SO_REUSEADDR will be issued on
socket on bind.

fix #7415

Signed-off-by: Fedor Indutny <fedor@indutny.com>
test: add `reuseAddr` in dgram-multicast...

Add `reuseAddr` option in `test-dgram-multicast-multi-process.js`
Merge remote-tracking branch 'upstream/master'