Added option to mark devDependencies as extraneous

Added a `boolean` argument to force `devDependencies` to be marked as `extraneous` so that `npm prune --production` will see them and remove them.

npm ticket npm/npm#4509

I also added `tap` as a devDep, formatted the existing test to use it and added a test for my new functionality.