Fix multicast receive
New udpsocket library does not join mcast groups. This fixes that on Linux (code is ifdeffed, it might work on other systems).
If an miface is given we set the local address to the first non loopback address of that interface, otherwise we loop over all addresses on the system and configure the first loopback address we find, whatever the interface.
This improves upon old behavior as it's now not (always) needed to supply an miface when joining an mcast group.