shill: Clear PMKSA cached credentials on unload

When an 802.1x WiFi service Unload()s, ask wpa_supplicant to clear
all cached credentials.  This is a workaround for dropping PMKSA
cache entries in wpa_supplicant when the user logs ouut.  Newer
versions of wpa_supplicant will support dropping cache entries
automatically when netblocks are changed.  This will allow more
granular key clearing.

BUG=chromium-os:23367
TEST=New unit test

Change-Id: I94d69b6943d69c7f5f31ed7846d908b38ce8e6c8
Reviewed-on: https://gerrit.chromium.org/gerrit/15163
Commit-Ready: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/mock_wifi.h b/mock_wifi.h
index 4d1eb4d..b91af46 100644
--- a/mock_wifi.h
+++ b/mock_wifi.h
@@ -38,6 +38,7 @@
   MOCK_METHOD1(Scan, void(Error *error));
   MOCK_METHOD2(GetService,
                WiFiServiceRefPtr(const KeyValueStore &args, Error *error));
+  MOCK_METHOD0(ClearCachedCredentials, void());
   MOCK_METHOD2(ConnectTo,
                void(WiFiService *service,
                     std::map<std::string, ::DBus::Variant> service_params));