shill: WiFi: Add LinkMonitor

Use new wpa_supplicant DBus interface call "Reassociate" when
the LinkMonitor indicates failure.

CQ-DEPENDS=Ic9fa6c577808e3d753175d8cba8acbe3463eb1ee
BUG=chromium-os:32600
TEST=Unit tests; manual: With verbosity turned up I can see the
link monitor successfully receiving ARP replies and adding
response samples.  Both failures and samples appear in
chrome://histograms.

Change-Id: I059b8dc5ebb6cfec4dd715090a8bddb8daf86eae
Reviewed-on: https://gerrit.chromium.org/gerrit/29794
Commit-Ready: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/supplicant_interface_proxy.h b/supplicant_interface_proxy.h
index 95da0d2..c55910e 100644
--- a/supplicant_interface_proxy.h
+++ b/supplicant_interface_proxy.h
@@ -32,6 +32,7 @@
   virtual void ClearCachedCredentials();
   virtual void Disconnect();
   virtual void FlushBSS(const uint32_t &age);
+  virtual void Reassociate();
   virtual void RemoveAllNetworks();
   virtual void RemoveNetwork(const ::DBus::Path &network);
   virtual void Scan(