Fix FreeBSD compilation by fixing the cdefs defines.

_GNU_SOURCE should only be defined when recvmmsg is active.  Might want
to guard this inside a __linux__ ifdef too.

_XOPEN_SOURCE needs to be 600 to expose to the IPv6 functions.
However, it still shouldn't be defined on FreeBSD as it then hides the
__BSD_VISIBLE-guarded MSG_NOSIGNAL.  So bump the version to be accurate,
and then hide it in a __linux__ guard.

Not heavily tested on Linux yet, so please doublecheck. 
Closes #18