shill: Installs progressive scan in shill.

BUG=chromium:222088
TEST=unittest and manual.  The manual tests consist of:
  - Enable progressive scan.  On target, in a crosh window, do:
      o progressive_scan on
  - Start shill with log=-10/wifi.  On the target, in a shell window,
    do the following:
      o stop shill
      o shill --log-level=-10 --log-scopes=wifi
  - Wait five seconds (the code will do everything it needs to at
    startup).
  - Look in /var/log/net.log and verify the existence of the following:
      o Doing progressive scan

      o ProgressiveScanTask - scan requested for XXXX
        Initiating a scan -- returning

      o ProgressiveScanTask - scan requested for XXXX
        Ignoring scan request wile connecting to an AP

Change-Id: Ie577869aedc03230e1fab62fc8cb9f0b3850c7fb
Reviewed-on: https://gerrit.chromium.org/gerrit/50377
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Queue: Wade Guthrie <wdg@chromium.org>
Reviewed-by: Wade Guthrie <wdg@chromium.org>
Tested-by: Wade Guthrie <wdg@chromium.org>
diff --git a/metrics.h b/metrics.h
index c4971f2..0e2656d 100644
--- a/metrics.h
+++ b/metrics.h
@@ -500,7 +500,7 @@
   void NotifyDeviceScanStarted(int interface_index);
 
   // Notifies this object that a device has completed the scanning process.
-  void NotifyDeviceScanFinished(int interface_index);
+  virtual void NotifyDeviceScanFinished(int interface_index);
 
   // Notifies this object that a device has started the connect process.
   void NotifyDeviceConnectStarted(int interface_index,