shill: Enable the ModemManager.Modem on Cellular device start.

Also, move DBus.Object/Connection properties to the Cellular device,
initializing them to the right values.

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

Change-Id: I5788ca7aa375afee757fbd96edf96f9d07f29ded
Reviewed-on: http://gerrit.chromium.org/gerrit/4947
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Darin Petkov <petkov@chromium.org>
diff --git a/proxy_factory.cc b/proxy_factory.cc
index 6b87865..f6637b1 100644
--- a/proxy_factory.cc
+++ b/proxy_factory.cc
@@ -9,6 +9,7 @@
 #include "shill/dbus_properties_proxy.h"
 #include "shill/dhcpcd_proxy.h"
 #include "shill/modem_manager_proxy.h"
+#include "shill/modem_proxy.h"
 #include "shill/supplicant_interface_proxy.h"
 #include "shill/supplicant_process_proxy.h"
 
@@ -42,6 +43,11 @@
   return new ModemManagerProxy(connection(), manager, path, service);
 }
 
+ModemProxyInterface *ProxyFactory::CreateModemProxy(const string &path,
+                                                    const string &service) {
+  return new ModemProxy(connection(), path, service);
+}
+
 SupplicantProcessProxyInterface *ProxyFactory::CreateSupplicantProcessProxy(
     const char *dbus_path,
     const char *dbus_addr) {