shill: Disable autoconnect on activating cellular services

Don't allow services undergoing activation to be connected by the
manager.  Implement this by asking the capability (through the device)
whether it is currently in the process of activation.  This works around
a huge mess where Chrome forces autoconnect off, and then has retrying
reconnect logic after activation.

BUG=chromium-os:36301
TEST=Activations work as before.  The real magic will happen when we
stop toggling the autoconnect bit from the mobile activator in Chrome.

Change-Id: I92cb6780712d341605f51e4a98041bb3642ab6fe
Reviewed-on: https://gerrit.chromium.org/gerrit/38314
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
Commit-Ready: Christopher Wiley <wiley@chromium.org>
diff --git a/cellular.cc b/cellular.cc
index ef4b15a..9b3e04b 100644
--- a/cellular.cc
+++ b/cellular.cc
@@ -629,6 +629,10 @@
   }
 }
 
+bool Cellular::IsActivating() const {
+  return capability_->IsActivating();
+}
+
 void Cellular::SetAllowRoaming(const bool &value, Error */*error*/) {
   SLOG(Cellular, 2) << __func__
                     << "(" << allow_roaming_ << "->" << value << ")";