shill: vpn: Set the friendly VPN service name.

Also, implement a more concise KeyValueStore string lookup method and add unit
tests.

BUG=chromium-os:27775
TEST=unit tests

Change-Id: If6ab38a9110c09275816bcc6ca992a77425859eb
Reviewed-on: https://gerrit.chromium.org/gerrit/18106
Commit-Ready: Darin Petkov <petkov@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Darin Petkov <petkov@chromium.org>
diff --git a/vpn_service.cc b/vpn_service.cc
index 3e3a7b9..6264cb8 100644
--- a/vpn_service.cc
+++ b/vpn_service.cc
@@ -47,19 +47,13 @@
 // static
 string VPNService::CreateStorageIdentifier(const KeyValueStore &args,
                                            Error *error) {
-  string host;
-  if (args.ContainsString(flimflam::kProviderHostProperty)) {
-    host = args.GetString(flimflam::kProviderHostProperty);
-  }
+  string host = args.LookupString(flimflam::kProviderHostProperty, "");
   if (host.empty()) {
     Error::PopulateAndLog(
         error, Error::kInvalidProperty, "Missing VPN host.");
     return "";
   }
-  string name;
-  if (args.ContainsString(flimflam::kProviderNameProperty)) {
-    name = args.GetString(flimflam::kProviderNameProperty);
-  }
+  string name = args.LookupString(flimflam::kProviderNameProperty, "");
   if (name.empty()) {
     Error::PopulateAndLog(
         error, Error::kNotSupported, "Missing VPN name.");