shill: SupplicantInterfaceProxy: Move Events to delegate

Previously the SupplicantInterfaceProxy sent events directly to a
WiFi device reference.  In moving towards using wpa_supplicant on
wired interfaces, create a SupplicantEventDelegateInterface on
which these events are invoked instead.  WiFi Devices methods
which accepted supplicant events are now an implementation of
this interface.  While here, also move kSupplicantConfPath
to wpa_supplicant (since it isn't WiFi specific) and add a "wired"
driver.

BUG=chromium:224509
TEST=Unit tests + manual association

Change-Id: Id19a70254ad1256e9933a9512ab93e5951582634
Reviewed-on: https://gerrit.chromium.org/gerrit/46726
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/wpa_supplicant.h b/wpa_supplicant.h
index daccf36..695424d 100644
--- a/wpa_supplicant.h
+++ b/wpa_supplicant.h
@@ -38,6 +38,7 @@
   static const char kDebugLevelMsgDump[];
   static const char kDebugLevelWarning[];
   static const char kDriverNL80211[];
+  static const char kDriverWired[];
   static const char kEAPParameterAlertUnknownCA[];
   static const char kEAPParameterFailure[];
   static const char kEAPParameterSuccess[];
@@ -132,6 +133,8 @@
   static const uint32_t kNetworkModeAccessPointInt;
   static const uint32_t kScanMaxSSIDsPerScan;
 
+  static const char kSupplicantConfPath[];
+
   // Populate the wpa_supplicant DBus parameter map |params| with the
   // credentials in |eap|.  To do so, this function may use |certificate_file|
   // or |nss| to export CA certificates to be passed to wpa_supplicant.