Fix udp_xmit to work on Linux *and* OpenBSD

OpenBSD's sendmsg doesn't like it if a struct msghdr's msg_control is
set to something but msg_controllen is zero.  Linux, on the other hand,
doesn't like it if msg_controllen is non-zero but the control message
itself is not populated.  Let's avoid the whole issue by leaving both
fields as zero unless we actually have some ancillary data to send.
Merge pull request #17 from tphelps/fiddle-bsd-fix

Fix udp_xmit to work on Linux *and* OpenBSD