shill: Implement service sorting

Sort the list of Services for presentation to
RPC callers, essentially copying the current flimflam
sorting criteria.  Introduce the TechnologyOrder to
the Manager.

BUG=chromium-os:20114
TEST=New unit tests

Change-Id: I766b2297ba3170a7a6ab5adfe68425a8011be4fb
Reviewed-on: http://gerrit.chromium.org/gerrit/8205
Tested-by: Paul Stewart <pstew@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
diff --git a/ethernet_service.cc b/ethernet_service.cc
index 679266c..783cbf8 100644
--- a/ethernet_service.cc
+++ b/ethernet_service.cc
@@ -45,6 +45,10 @@
 
 void EthernetService::Disconnect() { }
 
+bool EthernetService::TechnologyIs(const Technology::Identifier type) const {
+  return ethernet_->TechnologyIs(type);
+}
+
 std::string EthernetService::GetDeviceRpcId() {
   return ethernet_->GetRpcIdentifier();
 }