This function will send out an autodiscover broadcast to find a
        Neteria server. Any servers that respond with an "OHAI CLIENT"
        packet are servers that we can connect to. Servers that respond are
        stored in the "discovered_servers" list.

        Args:
          autoregister (boolean): Whether or not to automatically register
            with any responding servers. Defaults to True.

        Returns:
          None

        Examples:
          >>> myclient = neteria.client.NeteriaClient()
          >>> myclient.listen()
          >>> myclient.autodiscover()
          >>> myclient.discovered_servers
          {('192.168.0.20', 40080): u'1.0', ('192.168.0.82', 40080): '2.0'}

def autodiscover(self, autoregister=True):
        """This function will send out an autodiscover broadcast to find a
        Neteria server. Any servers that respond with an "OHAI CLIENT"
        packet are servers that we can connect to. Servers that respond are
        stored in the "discovered_servers" list.

        Args:
          autoregister (boolean): Whether or not to automatically register
            with any responding servers. Defaults to True.

        Returns:
          None

        Examples:
          >>> myclient = neteria.client.NeteriaClient()
          >>> myclient.listen()
          >>> myclient.autodiscover()
          >>> myclient.discovered_servers
          {('192.168.0.20', 40080): u'1.0', ('192.168.0.82', 40080): '2.0'}

        """

        logger.debug("<%s> Sending autodiscover message to broadcast "
                      "address" % str(self.cuuid))
        if not self.listener.listening:
            logger.warning("Neteria client is not listening. The client "
                   "will not be able to process responses from the server")
        message = serialize_data(
            {"method": "OHAI",
             "version": self.version,
             "cuuid": str(self.cuuid)},
            self.compression, encryption=False)
        if autoregister:
            self.autoregistering = True

        self.listener.send_datagram(
            message, ("<broadcast>", self.server_port), message_type="broadcast")