Issue title: npm install fails to use git.bat wrapper
 Issue body: #### I'm opening this issue because:

  - [ x] npm is crashing.
  - [ ] npm is producing an incorrect install.
  - [ ] npm is doing something I don't understand.
  - [ ] Other (_see below for feature requests_):

#### What's going wrong?
I use a "git.bat" wrapper on windows that is in the path.
npm install fails to use the wrapper, I assume because it "uppercases" the .bat extension

"installing npm modules..."
npm ERR! path W:\bin\git.BAT
npm ERR! code ENOENT
npm ERR! errno ENOENT
npm ERR! syscall spawn W:\bin\git.BAT
npm ERR! enoent spawn W:\bin\git.BAT ENOENT
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

#### How can the CLI team reproduce the problem?
- Create a git.bat wrapper for git.exe
- Put it upfront in your path
- Try a fresh npm install with a clean local cache
- Debug log:
`0 info it worked if it ends with ok
1 verbose cli [ 'W:\\tools\\nodejs\\node.exe',
1 verbose cli   'W:\\tools\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'install' ]
2 info using parkeramy@example.net
3 info using parkeramy@example.net
4 verbose npm-session c5fa1256ecb2e00d
5 silly install runPreinstallTopLevelLifecycles
6 silly preinstall parkeramy@example.net
7 info lifecycle parkeramy@example.net~preinstall: parkeramy@example.net
8 silly install loadCurrentTree
9 silly install readLocalPackageData
10 silly install loadIdealTree
11 silly install cloneCurrentTreeToIdealTree
12 silly install loadShrinkwrap
13 silly fetchPackageMetaData error for gulp@github:gulpjs/gulp#6d71a658c61edb3090221579d8f97dbe086ba2ed spawn W:\bin\git.BAT ENOENT
14 verbose stack Error: spawn W:\bin\git.BAT ENOENT
14 verbose stack     at exports._errnoException (util.js:1018:11)
14 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
14 verbose stack     at onErrorNT (internal/child_process.js:367:16)
14 verbose stack     at _combinedTickCallback (internal/process/next_tick.js:80:11)
14 verbose stack     at process._tickCallback (internal/process/next_tick.js:104:9)
15 verbose cwd W:\workspace\[project-folder]\src\webportal
16 verbose Windows_NT 6.3.9600
17 verbose argv "W:\\tools\\nodejs\\node.exe" "W:\\tools\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
18 verbose node v6.10.3
19 verbose npm  v5.1.0
20 error path W:\bin\git.BAT
21 error code ENOENT
22 error errno ENOENT
23 error syscall spawn W:\bin\git.BAT
24 error enoent spawn W:\bin\git.BAT ENOENT
25 error enoent This is related to npm not being able to find a file.
26 verbose exit [ 1, true ]`
### supporting information:

 - `npm -v` prints: 5.1.0
 - `node -v` prints: v6.10.3
 - `npm config get registry` prints: https://registry.npmjs.org/
 - Windows, OS X/macOS, or Linux?:m Windows 8.1
 - Network issues:
   - Geographic location where npm was run:
   - [ ] I use a proxy to connect to the npm registry.
   - [ ] I use a proxy to connect to the web.
   - [ ] I use a proxy when downloading Git repos.
   - [x] I access the npm registry via a VPN
   - [ ] I don't use a proxy, but have limited or unreliable internet access.
 - Container:
   - [ ] I develop using Vagrant on Windows.
   - [ ] I develop using Vagrant on OS X or Linux.
   - [ ] I develop / deploy using Docker.
   - [ ] I deploy to a PaaS (Triton, Heroku).


 Comments: 
 Comment 0: We're closing this support issue as it has gone three days without activity. The npm CLI team itself does not provide support via this issue tracker, but we are happy when users help each other here.  In our experience once a support issue goes dormant it's unlikely to get further activity.  If you're still having problems, you may be better served by joining [WeAllJS](https://wealljs.org/) and asking your question in its #npm channel.  The npm CLI team is all present there, but there are also lots of other folks who can help you too.

For more information about our new issue aging policies and why we've instituted them please see our [blog post](http://blog.npmjs.org/post/161832149430/npm-the-npm-github-issue-tracker-and-you).

{'source': 'GithubIssues', 'repo_name_with_owner': 'npm/npm', 'issue_id': 261567887, 'repo_stars': 16805.0}