unifiy sync and async receive as far as possible
allocate two sockets in hexabus::Socket

one for receiving multicast, and only for receiving multicast, and
another for all other actions