AppManager: Reuse cross-cluster port forwarding logic

Services define single open port with optional cluster and
outer layer converts it to cross cluster bindings.

Change-Id: I2f83270d19aaa367789d19a3ffbdf3a2158c1cf8
diff --git a/core/installer/app_manager.go b/core/installer/app_manager.go
index 0ec6605..d95e640 100644
--- a/core/installer/app_manager.go
+++ b/core/installer/app_manager.go
@@ -278,7 +278,7 @@
 			retErr = err
 			continue
 		}
-		resp, err := http.Post(p.RemoveAddr, "application/json", &buf)
+		resp, err := http.Post(p.Network.DeallocatePortAddr, "application/json", &buf)
 		if err != nil {
 			retErr = err
 			continue
@@ -504,10 +504,10 @@
 	allocators := map[string]string{}
 	for _, pf := range rendered.Ports {
 		reservators[portFields[pf.Port]] = reservePortInfo{
-			reserveAddr: pf.ReserveAddr,
+			reserveAddr: pf.Network.ReservePortAddr,
 			RemoteProxy: pf.Cluster != "",
 		}
-		allocators[portFields[pf.Port]] = pf.Allocator
+		allocators[portFields[pf.Port]] = pf.Network.AllocatePortAddr
 	}
 	portReservations, err := reservePorts(reservators)
 	if err != nil {