package.json: providing preinstall to update npm

This is specifically done to allow travis-ci to use latest NPM version
for support of caret (^) versioning in semver 2.0
Promise test: increasing timout for stability

Travis-CI's firefox seems to have trouble with chains firing in time