Refactor exception handling here
Remove some unused methods
Stop using Zeroconf.group attribute
Remove dead code
Stop dropping multicast group membership

It'll be taken care of by socket being closed
Drop "zero dependencies" feature
Refactor version detection in the setup script

This doesn't depend on zeroconf module being importable when setup is
ran
Use six for Python 2/3 compatibility
Use six for Python 2/3 compatibility