tweak test spacing
give whitelisted git environment variables a name
map git inflighting to path rather than URL
don't chownr the entire remotes hierarchy for each add

Just make sure that the templates and root-level directories are set to
the correct permissions for the cache. This probably addresses a latent
race condition for packages with a lot of git dependencies as well as
potentially eliminating a *lot* of superfluous filesystem operations.
normalize git URLs when caching (fixes #7009)

Offloads the bulk of the normalization to a new module dedicated to the
purpose, which will allow us to do a better job over time of not
duplicating Git remotes unless necessary.
pack tarballs to their final locations atomically
inflight directory packing, just to be safe
badly-named man files won't install (fixes #7000)

Before, if you tried to put a filename in the `man` stanza of
package.json that didn't follow the rules as listed in `npm help 5
package.json`, installing would work, but upgrading or uninstalling
would fail with a cryptic failure. Now, fail on build with a descriptive
message, and log the same descriptive message as an error (but don't
fail) on unbuild.