Fix tests

the tests were depending on a warm cache, as npm was calling to
a server on 1331 but the mock-registry was serving packages from
another port. now a temporary cache location is used to avoid
that the tests don't fail as they are getting everything from
the cache.

the server which served the metadata was removed, the metadata is
now served by the mock-registry itself, so npm can also install
from there.

furthermore the package metadata was separated in files.
Fix circular-dep test on Windows.

The usual need-to-chdir-to-tmp-before-rimraf thing. Cleaned it up a bit while I was there.
github-url-from-username-repo@0.1.0
doc: fix bracket ambiguity

Fixes #5093
doc: add ^version explanation to package.json docs

Fixes #4910
Give example curl script for installation.

Added a simple example of installing npm by itself via curl. This helps solve [an issue](Homebrew/homebrew#27479) with the node homebrew formula where users will want a simple way to install npm after installing node. Homebrew maintainers would rather see this curl example in the npm README rather than directly in the node formula.

It also just helps in general to have an example when users find the npm README and want to use the shell script.
Add in-line link to registry doc page
Add failing regression test for npm ls --depth=0

This test should turn green if read-installed is fixed and should
avoid regressions in the future.

This tests the cli, as it turned out that the programatical version
of npm has a bug where depth=0 is not working
Factor test-helper out of tests

Bonus:
  - Fix test in `startstop.js`
Don't return 0 exit code on invalid command

Fixes #4780
Fix ls-depth-cli test on Windows.

The usual.
Fix startstop test.

I broke it with my changes to the common helper in 057d9b781501d678b1582b63516bef06b9fa4d11.
Fix lifecycle to pass `Infinity` for config env value
Add test for lifecycle.makeEnv()
Make `npm install` respect `config.unicode`

`npm ls` and `npm star` already do, just `npm install` was missed.
doc: clarify run-script arguments. Fixes #5087
Fix lifecycle test

The test in 8b5e7b6a fails as it depends on a unconfigured npm
which uses exact the same values as a vanilla npmconf instance.

This fix also does not depends on the external dependency npmconf.
Fix ls-depth-cli test

Some environments have a configured depth=x - if that depth is 0,
like on travis or any other possible machine, the test failed.

This passes Infinity, which is the current default in npmconf