Download external Go dependencies in build

This change updates the Go GN integration to download external
dependencies for Go packages before running "go build". These
dependencies are listed in the pw_go_package template using build
metadata and collected to a "go get" invocation.

To support this, the pw_exec template is expanded to allow setting
positional arguments from a file.

Change-Id: If4f6c71f037b35bb041984da9982a1629d1d36b0
diff --git a/pw_protobuf_compiler/proto.gni b/pw_protobuf_compiler/proto.gni
index c659a20..59637ee 100644
--- a/pw_protobuf_compiler/proto.gni
+++ b/pw_protobuf_compiler/proto.gni
@@ -81,6 +81,10 @@
   pw_python_script(target_name) {
     metadata = {
       gopath = [ "GOPATH+=$_rebased_gopath" ]
+      external_deps = [
+        "github.com/golang/protobuf/proto",
+        "google.golang.org/grpc",
+      ]
     }
     script = _gen_script_path
     args = [