shill: Suppress auto-connect on suspend and force it on resume.

This avoids extra churn on suspend and prevents shill from trying to
auto-connect a cellular service that's being automatically
disconnected by Cromo right before suspend.

This seems like a good feature to have and should do for now although
it just makes the race less likely to happen. Ideally:

- Cromo should deregister the RPC Modem object as soon as it sees the
  state transitioning to suspend. But Cromo is going away...

- ModemManager-next should handle delayed suspend (or shill should do
  that instead).

BUG=chromium-os:32820
TEST=unit tests, tested on device

Change-Id: I2a7bcf201bb7f7ca785e86a8d3abb7d28f767c74
Reviewed-on: https://gerrit.chromium.org/gerrit/28390
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>
Commit-Ready: Darin Petkov <petkov@chromium.org>
diff --git a/manager.h b/manager.h
index b4bdbb6..3bc846c 100644
--- a/manager.h
+++ b/manager.h
@@ -301,6 +301,8 @@
 
   void NotifyDefaultServiceChanged(const ServiceRefPtr &service);
 
+  void OnPowerStateChanged(PowerManagerProxyDelegate::SuspendState power_state);
+
   // For unit testing.
   void set_metrics(Metrics *metrics) { metrics_ = metrics; }