shill: Improves logging for scan.

Looking at the logs, it's hard to tell why shill chooses to do a scan.
This CL adds a 'reason' (which is really the name of the calling
function) to Scan calls to make it clear why we're scanning.

BUG=None
TEST=unittest

Change-Id: Ibd128625681fc5d61d359b60953bb78d89e97dfe
Reviewed-on: https://gerrit.chromium.org/gerrit/63357
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/wifi.h b/wifi.h
index 20c6b6a..1ff9a6a 100644
--- a/wifi.h
+++ b/wifi.h
@@ -128,7 +128,8 @@
 
   virtual void Start(Error *error, const EnabledStateChangedCallback &callback);
   virtual void Stop(Error *error, const EnabledStateChangedCallback &callback);
-  virtual void Scan(ScanType scan_type, Error *error);
+  virtual void Scan(ScanType scan_type, Error *error,
+                    const std::string &reason);
   // Callback for system resume. If this WiFi device is idle, a scan
   // is initiated. Additionally, the base class implementation is
   // invoked unconditionally.