Update npm and change dependency ranges from tilde to carate #660

As discussed in #660 here's an early pull request for upgrading npm and changing the dependency range specification form tilde to caret.

All tests are green, following this change, but I will also do a deploy of it internally and check that it solves my original problem. However, here's the early request as suggested by @knownasilya , should the PR be against master?