17aef43bb8
This fixes #8828 by only binding UDP sockets when we have unicast targets. If we have multicast, prefer unbound sockets. This also brings in the 'ipaddress' gem for identifying multicast addresses. It looks like it could replace a lot of custom-built functionality in rex-socket, including RangeWalker. Will need to see how efficient it is.