shill: Ethernet: Authenticate to 802.1x networks

Instantate a Network instance in wpa_supplicant to perform
802.1x authentication, given the service EAP parameters if
an EAP authenticator is detected on the link and credentials
are available.  Note that this is the only flow that is
supported with this change -- authenticating and
deauthenticating as credentials appear and disappear will
be supported in a follow-on CL.

CQ-DEPEND=CL:47403,CL:47428
BUG=chromium:224091
TEST=New autotest network_8021xWiredAuthentication
(https://gerrit.chromium.org/gerrit/47410)

Change-Id: I3feeceb02b15646130bf862f894a77c203fb9860
Reviewed-on: https://gerrit.chromium.org/gerrit/47411
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
diff --git a/supplicant_event_delegate_interface.h b/supplicant_event_delegate_interface.h
index c4b3383..9347061 100644
--- a/supplicant_event_delegate_interface.h
+++ b/supplicant_event_delegate_interface.h
@@ -21,13 +21,26 @@
 
   virtual ~SupplicantEventDelegateInterface() {}
 
+  // Supplicant has added a BSS to its table of visible endpoints.
   virtual void BSSAdded(const ::DBus::Path &BSS,
                         const PropertyMap &properties) = 0;
+
+  // Supplicant has removed a BSS from its table of visible endpoints.
   virtual void BSSRemoved(const ::DBus::Path &BSS) = 0;
+
+  // Supplicant has received a certficate from the remote server during
+  // the process of authentication.
   virtual void Certification(const PropertyMap &properties) = 0;
+
+  // Supplicant state machine has output an EAP event notification.
   virtual void EAPEvent(const std::string &status,
                         const std::string &parameter) = 0;
+
+  // The interface element in the supplicant has changed one or more
+  // properties.
   virtual void PropertiesChanged(const PropertyMap &properties) = 0;
+
+  // A scan has completed on this interface.
   virtual void ScanDone() = 0;
 };