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/mock_vpn_service.h b/mock_vpn_service.h
index a6b5640..4e6b2b1 100644
--- a/mock_vpn_service.h
+++ b/mock_vpn_service.h
@@ -21,6 +21,7 @@
   virtual ~MockVPNService();
 
   MOCK_METHOD1(SetState, void(ConnectState state));
+  MOCK_METHOD0(InitDriverPropertyStore, void());
 
  private:
   DISALLOW_COPY_AND_ASSIGN(MockVPNService);