shill: Create HTTPProxy for connected services

When an a Connection is created on a Device, ask the
Service to create an HTTPProxy.  The Service will
then expose the port number for the proxy as an RPC
property.  Whenever the Service is unselected by
the Device, or the connection terminates, ask the
Service to destroy the proxy.

The Service owns the HTTPProxy so that it can report
the proxy port in its properties.

BUG=chromium-os:21664
TEST=Add expectations for DestroyProxy in unit tests.
Manual: Ensure that "list-services" shows the proxy
port on a successful connection, and "curl -x" to
this proxy succeeds.

Change-Id: I24a1f7a23c0fc4577b48aed7bec370fba6edc342
Reviewed-on: https://gerrit.chromium.org/gerrit/12625
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/property_store.h b/property_store.h
index caa1491..8bc4277 100644
--- a/property_store.h
+++ b/property_store.h
@@ -125,6 +125,8 @@
                               const StringsAccessor &accessor);
   void RegisterDerivedStrIntPair(const std::string &name,
                                  const StrIntPairAccessor &accessor);
+  void RegisterDerivedUint16(const std::string &name,
+                             const Uint16Accessor &accessor);
 
  private:
   template <class V>