Apparently SIO_GET_INTERFACE_LIST sometimes gives
the global broadcast (255.255.255.255) for one of
the interfaces. In this case silently compute
the iface bcast address.
in favor of discoverInterfaces().
if we have to do NIC discovery ourselves, then at least
avoid mixing our results with the similar, but not identical
results of osiSockDiscoverBroadcastAddresses() from Base.
change interface to distingush between bcast and point2point.
add netmask to truly distinguish unicast from bcast.
fix some minor (I think) errors in the bsd socks impl (use of clobbered buffer).
cleanup win32 impl. bcast and p2p handling.
with bcast interfaces, send searches to bcast address
and !WIN32 binds bcast address to receive searches.
with point to point, send searches to dest address.
can't bind dest address (not local).
quiets spurious error message:
> Error binding socket: Cannot assign requested address.
Encountered with a P2P link setup by openvpn.