discoverer: stop waiting for mDNS entries after we found one

Continually scanning runs into crashing problems.

Change-Id: Ieeccf4c6c9720e29be4eb44d771936fc33ab12f0
diff --git a/mdt/command.py b/mdt/command.py
index e0b16f7..ca2f7ea 100644
--- a/mdt/command.py
+++ b/mdt/command.py
@@ -55,6 +55,7 @@
             while not self.address:
                 sleep(0.1)
 
+        self.discoverer.stop()
         client = None
         try:
             print('Connecting to {0} at {1}'.format(self.device, self.address))
diff --git a/mdt/discoverer.py b/mdt/discoverer.py
index 87ae1c1..35a5005 100644
--- a/mdt/discoverer.py
+++ b/mdt/discoverer.py
@@ -26,7 +26,7 @@
         self.zeroconf = Zeroconf()
         self.discoveries = {}
         self.listener = listener
-        browser = ServiceBrowser(self.zeroconf, "_googlemdt._tcp.local.", self)
+        self.browser = ServiceBrowser(self.zeroconf, "_googlemdt._tcp.local.", self)
 
     def add_service(self, zeroconf, type, name):
         info = self.zeroconf.get_service_info(type, name)
@@ -42,3 +42,6 @@
         if self.listener and hasattr(self.listener, "remove_device"):
             self.listener.remove_device(info.server, self.discoveries[info.server])
         del(self.discoveries[info.server])
+
+    def stop(self):
+        self.browser.cancel()