Add a peerDependencies section in package.json doc

Fixes #4739.
fix link in faq
Add a test for npm-shrinkwrap crashes with empty dependencies
Don't crash if shrinkwrap-dependencies were not passed in pkginfo

This prevents npm from crashing on shrinkwrap if a `package.json`
has no dependencies defined.
npm-registry-mock@0.6.3
cache: don't repack unnecessarily from tmp
cache: Always fetch root doc

Hitting CDN and fs caches is always way faster, even if it does mean
downloading more bytes on a cache miss.
test: test that cache loading doesn't mangle shasum
cache: Save shasum, write resolved/etc data to cache

Don't throw away that delicious metadata.
cache: treat missing versions as a 404

Regression caused by always fetching the root doc
npm-registry-client@0.4.7
adding save-prefix configuration option

- npm install --save|--save-dev takes npm.config['save-prefix'] into
  account when prefixing the version in the package.json
- by default the version is prefixed with '^'
- added tests for this feature
- added documentation for this feature including one example
- tests are passing without npmconf changes, but this commit goes alongside [e045042] in npmconf repo
npmconf@0.1.14
fix no such property error
do not log if silent
update tap tests to hit no external dependencies.
test: Add test to verify npm-registry-mock version

I keep getting myself into weird cases where I have an outdated copy of
npm-registry-mock, and so tests fail, and I spend several minutes digging
only to find that it's because I didn't update after the package.json dep
changed.

Add a test to alert to this situation, which will run BEFORE all the other
tests start failing horribly.
view: handle unpublished packages properly
make ignore-scripts test quieter
default to only running 'tap' tests

move other non-standalone tests to test-legacy, and run them all
on 'test-all'