Passing args into run-scripts

this is the start of an approach for passing arguments into run-scripts that @isaacs and I have been talking about. It allows you to run:

`npm run-script start -- --foo=3`

The problem is that it breaks the ability to run a script in the context of a package, e.g., `npm start <package> <package> <package>`, `npm run-script start <package>`.

We will still have the ability to run commands in the context of another package, with with the syntax:

`npm explore <pkg> -- run test`, which seems like a reasonable compromise

thoughts

See #3494 
This is us removing the `npm test foobar` feature where it runs the tests for `node_modules/foobar` instead of top level.

This is a reasonably feature to remove and break back compat on.