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