This PR modifies `pulumi-language-go` to attempt to compile and run user programs first. If env var `PULUMI_GO_USE_RUN=true` is set, we use the old behavior of using `go run`.