test: simplify common.run() to common.npm()
cache: Handle 404s and other HTTP errors as errors

Fix #4982
doc: fix npm-folders(5) duplication
adduser: allow change of the saved password

Modify `npm adduser` to allow the user to change the password used
for authentication. This is useful when the password was changed
via the website and the user wants to update local npm config
to use this new password.

Before this change, `npm adduser` would not ask for a password when
the username was not changed, thus it was not possible to easily
change the password while keeping the same username.
adduser: Clarify password prompt

When there's the option to leave it unchanged, the prompt should reflect
this.
Check SHA before using files from cache

Fixes #3265.

Because 'npm install' *always* writes every package to the cache (even
if it isn't installed from the registry) before installing it, it's easy
to end up in a situation where "npm install foo" installs something
other than the appropriate version from the registry.  eg:

  npm cache clean
  # Install a fork of version 0.0.1:
  npm install https://github.com/glasser/npm-cache-corruption/tarball/93c447e
  rm -rf node_modules
  # Before this commit, this would install the same fork as above
  npm install npm-cache-corruption
Do not replace the canonical url for README.html on doc building

Closes #5111
v1.4.8
npm-registry-client@0.4.8
cache: Fix typo bug (plus test)
send referer header
build referer header out of strings only
v1.4.9
Use marked instead of ronn for html docs
trivial: typo in test message
list runnable scripts

Running `npm run` will now list available scripts in the top level
package.json.  Fixes #4888
run-script: Support --parseable and --json

Also, add a test
run: output prettier json with --json and no arg
Ignore marked module
fetch: Send referer and npm-session headers