shill: Implement DHCPConfig::ReleaseIP

Also, add some unit tests, and some cleanup.

BUG=chromium-os:16365,chromium-os:16013
TEST=unit tests

Change-Id: I896bce08c6f177c9d5f6c5772c9208e8223c39df
Reviewed-on: http://gerrit.chromium.org/gerrit/2486
Reviewed-by: Chris Masone <cmasone@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Darin Petkov <petkov@chromium.org>
diff --git a/dhcpcd_proxy.cc b/dhcpcd_proxy.cc
index 2552a29..ec308f6 100644
--- a/dhcpcd_proxy.cc
+++ b/dhcpcd_proxy.cc
@@ -80,6 +80,10 @@
   Rebind(interface);
 }
 
+void DHCPCDProxy::DoRelease(const string &interface) {
+  Release(interface);
+}
+
 void DHCPCDProxy::Event(const uint32_t &pid,
                         const std::string &reason,
                         const DHCPConfig::Configuration &configuration) {