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.
scripts: Only run one script at a time

This prevents the output from build scripts from being comingled with
one another.
semver@2.2.1
bump read-package-json and npm-registry-client
node-gyp@0.11.0
update request deps
v1.3.13
Tell users it's not our fault when no compatible versions are found

Fixes #3810
#4030 Config edit escape sequences

* Used ini.stringify to output default values in npm.config.edit

Closes #4030
Closes #3782
v1.3.14
dedupe: De-duplicate require('npm') lines
lifecycle: proxy the child process' "signal" to npm

This way, if an `npm test` script (or any other lifecycle process) ends
up exiting because of a signal like a SIGSEGV, then npm will exit the same
way (since the `code` will be null when a signal is present), and not
obscure the signal the occurred.

For example, given this `package.json` file:

``` json
{
  "name": "sigsegv",
  "version": "0.0.0",
  "scripts": {
    "test": "node -e 'process.kill(process.pid, \"SIGSEGV\")'"
  }
}
```

Before this patch, npm would obscure the seg fault exit status:

```
$ npm test

> sigsegv@0.0.0 test /Users/nrajlich/t
> node -e 'process.kill(process.pid, "SIGSEGV")'

$ echo $?
0
```

After this patch, the proper signal is relayed to npm, and thus the shell:

```
$ node ../npm/bin/npm-cli.js test

> sigsegv@0.0.0 test /Users/nrajlich/t
> node -e 'process.kill(process.pid, "SIGSEGV")'

Segmentation fault: 11

$ echo $?
139
```
#3759: do not install npm on node <= v0.5
test: use central config for port & address
test: use dedicated cache for mocked packages
test: cleanup taps test output
test: do not hit the real registry, use the mock registry