shill: Decouple Cellular's IsRegistered from the network technology string.

Also, broadcast changes in the cellular service network technology and roaming
state properties.

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

Change-Id: Ia4c297586dbc9b8a32d297c126c4d791310b5abd
Reviewed-on: https://gerrit.chromium.org/gerrit/12028
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Eric Shienbrood <ers@chromium.org>
diff --git a/cellular_capability_gsm.h b/cellular_capability_gsm.h
index 45e9fb4..80a72f4 100644
--- a/cellular_capability_gsm.h
+++ b/cellular_capability_gsm.h
@@ -39,6 +39,7 @@
   virtual void GetProperties();
   virtual void Register();
   virtual void RegisterOnNetwork(const std::string &network_id, Error *error);
+  virtual bool IsRegistered();
   virtual void RequirePIN(const std::string &pin, bool require, Error *error);
   virtual void EnterPIN(const std::string &pin, Error *error);
   virtual void UnblockPIN(const std::string &unblock_code,