Split Modem into ModemClassic and Modem1

Along the way:

  Restructure ModemManagerXxx to use the split modem classes.

  Add new mocks to limit scope of modem tests

  Change modem state enum to a neutral format and convert from MM1 and
  MMClassic to this format.

  Fix a bug where we weren't properly releasing a callback in
  DBusObjectManagerProxy.

  Add new DBus property matchers

BUG=chromium-os:27935,chromium-os:27936
TEST=unit tests

Change-Id: Ib78c7dfd9e30fe556f09a4427fd71c9d785210c9
Reviewed-on: https://gerrit.chromium.org/gerrit/19228
Commit-Ready: David Rochberg <rochberg@chromium.org>
Reviewed-by: David Rochberg <rochberg@chromium.org>
Tested-by: David Rochberg <rochberg@chromium.org>
diff --git a/modem_manager_proxy.cc b/modem_manager_proxy.cc
index 7aa2ae3..d72620f 100644
--- a/modem_manager_proxy.cc
+++ b/modem_manager_proxy.cc
@@ -35,11 +35,11 @@
 ModemManagerProxy::Proxy::~Proxy() {}
 
 void ModemManagerProxy::Proxy::DeviceAdded(const DBus::Path &device) {
-  manager_->AddModem(device);
+  manager_->OnDeviceAdded(device);
 }
 
 void ModemManagerProxy::Proxy::DeviceRemoved(const DBus::Path &device) {
-  manager_->RemoveModem(device);
+  manager_->OnDeviceRemoved(device);
 }
 
 }  // namespace shill