Code cleanup in tests

Call `npm.{command}(args)` instead of `npm('{command}', args)`.
Fix npm.load() in npm-exec

`npm.load()` remembers whether the config was loaded and skips config
loading when called second time.

We have to remove all npm sources from the require cache to force
config reload.

The alternative solution - executing npm in a new process - is too slow,
the current 9 test would execute about 9 seconds instead of current 2
seconds.
Add more end-to-end test.

 - npm tag
 - npm update
Merge pull request #7 from strongloop/feature/more-e2e-tests

Add more end-to-end tests