shill: portal: Recheck portal state

Introduce a retry interval for automatically retrying portal
checks.  Also provide a Manager API method for immediately
re-checking portal status.

BUG=chromium-os:27335
TEST=New unit tests, tested on real machine, including setting
PortaCheckInterval over DBus, and using Jason's addition to
test-flimflam for 'recheck-portal'.
Change-Id: Idc7def18c6f863859e94f4d4e9f266ab2670679c
Reviewed-on: https://gerrit.chromium.org/gerrit/17367
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/manager_dbus_adaptor.h b/manager_dbus_adaptor.h
index c9e0390..7377e2b 100644
--- a/manager_dbus_adaptor.h
+++ b/manager_dbus_adaptor.h
@@ -58,6 +58,7 @@
   ::DBus::Path PushProfile(const std::string &, ::DBus::Error &error);
   void PopProfile(const std::string &, ::DBus::Error &error);
   void PopAnyProfile(::DBus::Error &error);
+  void RecheckPortal(::DBus::Error &error);
   void RequestScan(const std::string &, ::DBus::Error &error);
 
   void EnableTechnology(const std::string &, ::DBus::Error &error);