shill: Disconnect and disable cellular modem when stopping the device.

Also, disconnect the cellular service on Service::Disconnect. A separate patch
wires this up to powering off the device (crosbug.com/25014).

BUG=chromium-os:25116,chromium-os:25013
TEST=unit tests, tested on chromebook with disconnect-service

Change-Id: Id3b8c10fbfd917702738b8a4385d7954c03de204
Reviewed-on: https://gerrit.chromium.org/gerrit/14230
Commit-Ready: Darin Petkov <petkov@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Darin Petkov <petkov@chromium.org>
diff --git a/mock_modem_proxy.h b/mock_modem_proxy.h
index 8d3de6e..58fabda 100644
--- a/mock_modem_proxy.h
+++ b/mock_modem_proxy.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
@@ -18,6 +18,7 @@
   virtual ~MockModemProxy();
 
   MOCK_METHOD1(Enable, void(const bool enable));
+  MOCK_METHOD0(Disconnect, void());
   MOCK_METHOD0(GetInfo, Info());
 
  private: