plumbing: use LookPath instead of Stat to fix Windows executables

When git-core isn't in the user's PATH, we need to use `LookPath` to
verify the existence of the executable, rather than `os.Stat`, so that
on Windows it will search for files with executable suffixes.
diff --git a/plumbing/transport/file/client.go b/plumbing/transport/file/client.go
index af4a88b..d229fdd 100644
--- a/plumbing/transport/file/client.go
+++ b/plumbing/transport/file/client.go
@@ -66,7 +66,7 @@
 	cmd = filepath.Join(execPath, cmd)
 
 	// Make sure it actually exists.
-	_, err = os.Stat(cmd)
+	_, err = exec.LookPath(cmd)
 	if err != nil {
 		return "", err
 	}
diff --git a/plumbing/transport/file/client_test.go b/plumbing/transport/file/client_test.go
index 3532a4c..864cddc 100644
--- a/plumbing/transport/file/client_test.go
+++ b/plumbing/transport/file/client_test.go
@@ -33,7 +33,7 @@
 
 	// Make sure we get an error for one that doesn't exist.
 	_, err = runner.Command("git-fake-command", ep, emptyAuth)
-	c.Assert(os.IsNotExist(err), Equals, true)
+	c.Assert(err, NotNil)
 }
 
 const bareConfig = `[core]