[fdio] Close node handle if node is a pipe or vmo

Pipes and Vmos do not keep a reference to the node handle,
so we need to close the handle to avoid leaking it.

FIDL-301 #done

Change-Id: If41b473d3a7b6cac90e2c702b8b8bf5330353570
diff --git a/src/syscall/zx/fdio/node.go b/src/syscall/zx/fdio/node.go
index 6e5b95a..6828486 100644
--- a/src/syscall/zx/fdio/node.go
+++ b/src/syscall/zx/fdio/node.go
@@ -36,8 +36,14 @@
 	case io.NodeInfoDirectory:
 		result = &Directory{Node: Node{NodeInterface: node}}
 	case io.NodeInfoPipe:
+		if err = ((*fidl.Proxy)(node)).Channel.Close(); err != nil {
+			return nil, err
+		}
 		result = NewPipe(info.Pipe.Socket)
 	case io.NodeInfoVmofile:
+		if err = ((*fidl.Proxy)(node)).Channel.Close(); err != nil {
+			return nil, err
+		}
 		result, err = NewVMOFile(
 			info.Vmofile.Vmo,
 			info.Vmofile.Offset,