shill: WiFi: Separate out EAP Event tracking

Separate EAP event tracking into a separate class, so it can be
used by more than one device type.  This also makes unit testing
slightly simpler.  While here also move the code that extracts
remote certification to another WPASupplicant static method.

BUG=chromium:224509
TEST=Unit tests

Change-Id: I7f4e7f5e03044f3f21dc179ea13878add5ae1c9d
Reviewed-on: https://gerrit.chromium.org/gerrit/47010
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
diff --git a/Makefile b/Makefile
index 8e34018..c0cb3c1 100644
--- a/Makefile
+++ b/Makefile
@@ -295,6 +295,7 @@
 	sockets.o \
 	static_ip_parameters.o \
 	supplicant_bss_proxy.o \
+	supplicant_eap_state_handler.o \
 	supplicant_interface_proxy.o \
 	supplicant_network_proxy.o \
 	supplicant_process_proxy.o \
@@ -409,6 +410,7 @@
 	mock_sockets.o \
 	mock_store.o \
 	mock_supplicant_bss_proxy.o \
+	mock_supplicant_eap_state_handler.o \
 	mock_supplicant_interface_proxy.o \
 	mock_supplicant_network_proxy.o \
 	mock_supplicant_process_proxy.o \
@@ -443,6 +445,7 @@
 	scope_logger_unittest.o \
 	service_under_test.o \
 	service_unittest.o \
+	supplicant_eap_state_handler_unittest.o \
 	shill_unittest.o \
 	shims/certificates_unittest.o \
 	shims/netfilter_queue_processor_unittest.o \