shill: vpn: Destroy Unload()ed VPN services

BUG=chromium-os:28481
TEST=New unit test.

Change-Id: I222441d3ff5cbc7d97d97f7fdd2917eee5921721
Reviewed-on: https://gerrit.chromium.org/gerrit/19143
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/vpn_provider.cc b/vpn_provider.cc
index b9daf1a..13c4464 100644
--- a/vpn_provider.cc
+++ b/vpn_provider.cc
@@ -4,6 +4,8 @@
 
 #include "shill/vpn_provider.h"
 
+#include <algorithm>
+
 #include <base/logging.h>
 #include <chromeos/dbus/service_constants.h>
 
@@ -84,4 +86,12 @@
   return false;
 }
 
+void VPNProvider::RemoveService(VPNServiceRefPtr service) {
+  vector<VPNServiceRefPtr>::iterator it;
+  it = std::find(services_.begin(), services_.end(), service);
+  if (it != services_.end()) {
+    services_.erase(it);
+  }
+}
+
 }  // namespace shill