bump nopt and npmconf

Fixes #5591

The root cause here is that a change from 022 (a number in octal literal
format) to '022' (a string) caused the string to later be interpreted as
a decimal number, making for some wacky umask values.

Solution is multipart.

First, use the actual process.umask() value from the user's environment.
This is almost certainly what they want anyway.

Second, validate all default values just like we do with user- supplied
values, rather than trusting them to never be wrong.  This would've
found the problem much sooner, while in dev.

This second part requires that we allow a value of null for 'path' type
args, allow 'undefined' for the 'local-address' config, and avoid
looking up a cafile of 'null', all of which are good hygenic things to
add defense-in-depth anyway.
relative URLS for working non-root registry URLS