shill: Add connection to device

Also in the process, do a few bits like setting up a run path in
the manager so it can initialize the resolver output path.

BUG=chromium-os:19095
TEST=Ran unit tests (for regression), tested that DNS and routes applied
for Ethernet on real system.

Change-Id: If505200643efa6c3152f6e61db3b91a04e739c18
Reviewed-on: http://gerrit.chromium.org/gerrit/6087
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/routing_table_unittest.cc b/routing_table_unittest.cc
index 39e7d1b..066c411 100644
--- a/routing_table_unittest.cc
+++ b/routing_table_unittest.cc
@@ -95,7 +95,7 @@
   return
     msg.type() == RTNLMessage::kMessageTypeRoute &&
     msg.family() == entry.gateway.family() &&
-    msg.flags() == flags &&
+    msg.flags() == (NLM_F_REQUEST | flags) &&
     status.table == RT_TABLE_MAIN &&
     status.protocol == RTPROT_BOOT &&
     status.scope == entry.scope &&