shill: vpn: Use Mapped custom accessor for properties

VPN services simply ask their drivers to populate their PropertyStore.
VPN drivers use CustomMapped accessors to make their KeyValueStore
available.

BUG=chromium-os:28303,chromium-os:28223
TEST=New unit tests

Change-Id: I05a4f2c09ddd03b40b947274fd38572da5d6dbdc
Reviewed-on: https://gerrit.chromium.org/gerrit/18989
Commit-Ready: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/property_accessor_unittest.cc b/property_accessor_unittest.cc
index b52fe19..062f4f1 100644
--- a/property_accessor_unittest.cc
+++ b/property_accessor_unittest.cc
@@ -388,7 +388,7 @@
     EXPECT_TRUE(ContainsKey(value_, key));
     return value_[key];
   }
-  void Set(const string &value, const string &key, Error */*error*/) {
+  void Set(const string &key, const string &value, Error */*error*/) {
     value_[key] = value;
   }