test: fix ignore-install-link on windows

Was relying on using an administrator-owned global folder, which is a pita.
npm-package-arg@2.0.1
Don't squash execute perms in _git-remotes/ dir

A previous fix for https://github.com/npm/npm/issues/3117
explicitly set the permissions for all files to a hard-coded
value, regardless of what the permissions were previously.

This changes that behavior to *add* the permissions that were
previously being *set* so that existing execute permissions are
maintained.

This is a redo of the much more blunt solution attempted in
https://github.com/npm/npm/pull/5728
thanks to some very helpful feedback from @othiym23
Bump semver to version 3

This makes the '^' operator stricter for 0.x.y versions, even if 'x' is
not 0.

As a direct result, several *other* deps had to be updated, because they
either depended on semver 2.x, or because the new stricter rules meant
that they (or their deps) were no longer valid.

The update to 'read-installed', in particular, causes a test failure.
That update must be rolled back, or the test made to pass, prior to a
stable npm 2.0.0 release going out.
Merge branch 'master' into local-package-install