Not fail if OpenSSL crypto support isn't available

If node.js is compiled without OpenSSL crypto support NPM fails to load, but it's only required for publishing. This patch catch the exception thrown by 'crypto' module if OpenSSL is not available and left the 'crypto' namespace undefined. Later, when publish() function is called, an error is given on the callback. This way, ```npm-registry-client`` and ```npm``` itself can be used on node.js compilations without OpenSSL support.