Check for npm registry and set it if necessary.

If paver is being run by a user that is not the same as the user
that installed npm on the guest machine, then paver install_prereqs fails
with the following error:

  ---> pavelib.prereqs.install_node_prereqs
  npm config set registry http://registry.npmjs.org/
  npm ERR! Error: EPERM, chown '/home/jenkins/.npmrc'
  npm ERR!  { [Error: EPERM, chown '/home/jenkins/.npmrc'] errno: 50, code: 'EPERM', path: '/home/jenkins/.npmrc' }
  npm ERR!
  npm ERR! Please try running this command again as root/Administrator.

  npm ERR! System Linux 3.2.0-23-generic
  npm ERR! command "/usr/bin/node" "/usr/bin/npm" "config" "set" "registry" "http://registry.npmjs.org/"
  npm ERR! cwd /home/jenkins/shallow-clone
  npm ERR! node -v v0.10.30
  npm ERR! npm -v 1.4.21
  npm ERR! path /home/jenkins/.npmrc
  npm ERR! code EPERM
  npm ERR! errno 50
  npm ERR! stack Error: EPERM, chown '/home/jenkins/.npmrc'
  npm ERR!
  npm ERR! Additional logging details can be found in:
  npm ERR!     /home/jenkins/shallow-clone/npm-debug.log
  npm ERR! not ok code 0

  Captured Task Output:
  ---------------------

  ---> pavelib.prereqs.install_prereqs
  ---> pavelib.prereqs.install_ruby_prereqs
  ---> pavelib.prereqs.install_node_prereqs
  npm config set registry http://registry.npmjs.org/

  Build failed running pavelib.prereqs.install_prereqs: Subprocess return code: 50

This change is a workaround. It will first see if the value is set. In the case
that is it not set, it will attempt to set it. (It will then fail; however,
re-running the task will subsequently be successful.)
Merge pull request #4828 from edx/benp/workaround-npm-error

Paver: Check for the npm registry and set it if necessary.