shill: Move cellular network registration to capability delegates.

Refactor only, no functional changes. This change also allowed transferring
ownership of the remaining technology-specific proxies (Gsm.Network and Cdma) to
the respective capability delegates.

BUG=chromium-os:18735
TEST=unit tests

Change-Id: I8851cb29b0411168be55d13a2fdc2a2825ce8567
Reviewed-on: https://gerrit.chromium.org/gerrit/11696
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Jason Glasgow <jglasgow@chromium.org>
Commit-Ready: Darin Petkov <petkov@chromium.org>
diff --git a/cellular_capability.h b/cellular_capability.h
index 9c9e1d1..8aa86f5 100644
--- a/cellular_capability.h
+++ b/cellular_capability.h
@@ -35,12 +35,20 @@
   // otherwise. The default implementation fails by populating |error|.
   virtual void Activate(const std::string &carrier, Error *error);
 
+  // Network registration.
+  virtual void Register();
+  virtual void RegisterOnNetwork(const std::string &network_id, Error *error);
+
   // Retrieves identifiers associated with the modem and the capability.
   virtual void GetIdentifiers() = 0;
 
+  virtual void GetProperties() = 0;
+
   // Retrieves the current cellular signal strength.
   virtual void GetSignalQuality() = 0;
 
+  virtual void GetRegistrationState() = 0;
+
   // PIN management. The default implementation fails by populating |error|.
   virtual void RequirePIN(const std::string &pin, bool require, Error *error);
   virtual void EnterPIN(const std::string &pin, Error *error);