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_info.cc b/modem_info.cc
index 257cb27..230e927 100644
--- a/modem_info.cc
+++ b/modem_info.cc
@@ -20,7 +20,7 @@
                      Manager *manager,
                      GLib *glib)
     : control_interface_(control_interface),
-      dispatcher_(dispatcher_),
+      dispatcher_(dispatcher),
       manager_(manager),
       glib_(glib) {}