scripts: Avoid 'weird errors' from numeric codes

Regression introduced by transition to spawn from utils/exec.js
fstream-npm@0.1.6
cmd-shim@1.1.1
editor@0.0.5
once@1.3.0
ansi@0.2.1
housekeeping: cleanup tests
Fix test for outdated-new-versions in edge cases

Make the tests independent from the order of the data-Array which
differs when I run the single test

Fix tests which clean cache:

I also added a separate cache-directory so the test does not
poison the normal cache of npm.

fixes #3948
Fix npm repo error for unnormalized shorthand urls

New npm versions are supporting the shorthand username/repo
in the repository field of the package.json - but sometimes
people with old npm versions are publishing them and they
do not get normalized.

Fixes #3952
let npm.commands.uninstall() return an array of removed items

Fixes #1754
npmlog@0.0.5
npm-registry-mock@0.5.3
npmlog@0.0.6
various minor dep updates
npmconf update
v1.3.12
Add better error message for missing package.json

Hopefully this will enable users that are using npm for the
very first time to help themselves.
cache: Small style fixup

Needed to make this more readable because I had to read it,
and was failing.
Don't force tarballs to same proto as registry

Except if they are actually hosted on the registry as an attachment.

This is a requirement to make detached registry tarballs work.
Add docs for --production flag in npm install.