shill: Fix a crash on creation of Cellular device.

Main fix is that DeviceInfo doesn't create/manage kCellular devices thus
avoiding D-Bus path collisions. Also, create the Cellular device in a delayed
task because the WiFi comments say that D-Bus objects can't be registered in
signal callbacks.

Fixes bad dispatcher_ member initialization and missing manager_ initialization.

Adds a DispatchPendingEvents method to the event dispatcher useful for testing.

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

Change-Id: Ib8859dfe59f7a3fd7b3978793dc8f38f22609db5
Reviewed-on: http://gerrit.chromium.org/gerrit/4771
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
diff --git a/modem_manager.cc b/modem_manager.cc
index d8c30dd..b1c60a4 100644
--- a/modem_manager.cc
+++ b/modem_manager.cc
@@ -28,6 +28,7 @@
       watcher_id_(0),
       control_interface_(control_interface),
       dispatcher_(dispatcher),
+      manager_(manager),
       glib_(glib) {}
 
 ModemManager::~ModemManager() {