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.go b/core/installer/app.go
index 9c658df..538e2ff 100644
--- a/core/installer/app.go
+++ b/core/installer/app.go
@@ -95,13 +95,11 @@
 }
 
 type PortForward struct {
-	Cluster     string `json:"cluster,omitempty"`
-	Allocator   string `json:"allocator"`
-	ReserveAddr string `json:"reservator"`
-	RemoveAddr  string `json:"deallocator"`
-	Protocol    string `json:"protocol"`
-	Port        int    `json:"port"`
-	Service     struct {
+	Cluster  string  `json:"clusterName,omitempty"`
+	Network  Network `json:"network"`
+	Protocol string  `json:"protocol"`
+	Port     int     `json:"port"`
+	Service  struct {
 		Name      string `json:"name"`
 		Namespace string `json:"namespace,omitempty"`
 		Port      int    `json:"port"`