Fix an OS X edge case (#270, #188)
Fix an OS X edge case (#270, #188)

This contains two major changes:

* Listen on data from respond_sockets in addition to listen_socket
* Do not bind respond sockets to 0.0.0.0 or ::/0

The description of the original change by Emil:

<<<
Without either of these changes, I get no replies at all when browsing for
services using the browser example. I'm on a corporate network, and when
connecting to a different network it works without these changes, so maybe
it's something about the network configuration in this particular network
that breaks the previous behavior.

Unfortunately, I have no idea how this affects other platforms, or what
the changes really mean. However, it works for me and it seems reasonable
to get replies back on the same socket where they are sent.
>>>

The tests pass and it's been confirmed to a reasonable degree that this
doesn't break the previously working use cases.

Additionally this removes a memory leak where data sent to some of the
respond sockets would not be ever read from them (#171).

Co-authored-by: Emil Styrke <d46372e3d23ef03c22babc4d98a1d7c2efc9d7f3@axis.com>
jstasiak/python-zeroconf