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/wifi_service.cc b/wifi_service.cc
index 6ed8b79..cba5a2a 100644
--- a/wifi_service.cc
+++ b/wifi_service.cc
@@ -78,6 +78,10 @@
   // XXX remove from favorite networks list?
 }
 
+bool WiFiService::TechnologyIs(const Technology::Identifier type) const {
+  return wifi_->TechnologyIs(type);
+}
+
 string WiFiService::GetStorageIdentifier() {
   return StringToLowerASCII(base::StringPrintf("%s_%s_%s_%s_%s",
                                                flimflam::kTypeWifi,