force reinstall flag for npm

@KevinSheedy made an [excellent suggestion](https://github.com/isaacs/npm/pull/2388#issuecomment-21664472) on improving upon @rvagg's <code>--skip-installed</code> flag for npm.

this is my attempt at making that happen.

the goal of this patch is to make npm be smart about making network requests upon <code>npm install XYZ</code> commands. currently, it fetches <code>XYZ</code> everytime, even when the library already exists.

for continuous integration and provisioned development environments, this feature will come in handy. particularly the many many times i'm on a bus and i need to re-run some setup scripts...

this PR is meant to override https://github.com/isaacs/npm/pull/2388 which is a bit stale by now and proposes an odd syntax that @isaacs [pointed out](https://github.com/isaacs/npm/pull/2388#issuecomment-21657832).