throw when tarball packages are found in the npm cache
add shelljs because it has exec

Node core removed require('child_process').execSync, but shelljs still has
a synchronous version implemented. Thank you shelljs!
support new tarball style npm cache entries; ignore circular deps
readme updates; case insensitive -s flag
1.0.0