shill: device: require a non NULL error pointer be passed to Start

Require that a non NULL error pointer be passed to Start function so
that it is clear that the Start function can return an error.  Add
DCHECKs to the code so that coding errors can be caught by unit tests.

BUG=none
TEST=run unit tests, and run shill using the new modem manager
Change-Id: Ie5e50eb15a041a17357adcef7a9d95e16e2bb222
Reviewed-on: https://gerrit.chromium.org/gerrit/19912
Commit-Ready: Jason Glasgow <jglasgow@chromium.org>
Reviewed-by: Jason Glasgow <jglasgow@chromium.org>
Tested-by: Jason Glasgow <jglasgow@chromium.org>
diff --git a/cellular.cc b/cellular.cc
index 34a4c3f..3c81593 100644
--- a/cellular.cc
+++ b/cellular.cc
@@ -154,6 +154,7 @@
 
 void Cellular::Start(Error *error,
                      const EnabledStateChangedCallback &callback) {
+  DCHECK(error);
   VLOG(2) << __func__ << ": " << GetStateString(state_);
   if (state_ != kStateDisabled) {
     return;