add more compatible punycode implementation
protect against changes of main module in dependencies

this is important because the versions are all loosely specified using *
remove erroneous .js from underscore-prefixed node core module listings