Don't trust that decoder always set data.type.

Part of issue #27
Improve how sockets are created on interface.

* Skip all internal (localhost)
* Bind with random port on interfaces
* Bind port 5353 to 0.0.0.0 and add multicast
  membership on 224.0.0.251

Improves on the issues reported in #27
fix to let travis work
merged upstream