shill: Change service.device property to be a DBus::Path

Change service.device property to be a DBus::Path because it is a path
not a string.  Flimflam exports the property as a path.  Exporting it
as a string causes cashew to die.

Change the unit tests to use valid DBus paths which can contain
elements separated by /.  Each element can contain only
[A-z][a-z][0-9]_ and cannot end in a trailing /.

BUG=chromium-os:28734
TEST=run shill unit tests, run shill on DUT. Run cashew.

Change-Id: I65fb843fb93f76d95eea6da334ad326ccb9fbd6f
Reviewed-on: https://gerrit.chromium.org/gerrit/19366
Commit-Ready: Jason Glasgow <jglasgow@chromium.org>
Reviewed-by: Jason Glasgow <jglasgow@chromium.org>
Tested-by: Jason Glasgow <jglasgow@chromium.org>
diff --git a/dbus_adaptor.cc b/dbus_adaptor.cc
index 3873c6f..2514f9e 100644
--- a/dbus_adaptor.cc
+++ b/dbus_adaptor.cc
@@ -168,6 +168,13 @@
     for ( ; !it.AtEnd(); it.Advance())
       (*out)[it.Key()] = Uint32ToVariant(it.Value(&e));
   }
+  {
+    ReadablePropertyConstIterator<RpcIdentifier> it =
+        store.GetRpcIdentifierPropertiesIter();
+    for ( ; !it.AtEnd(); it.Advance()) {
+      (*out)[it.Key()] = PathToVariant(it.Value(&e));
+    }
+  }
   return true;
 }