This PR updates the current --experimental-modules implementation based on the work of the modules team and reflects Phase 2 of our new modules plan. A longer form description of these changes can be found in our draft blog post. The largest differences from the current implementation include packge.type which can be either module or commonjs type: "commonjs": .js is parsed as commonjs default for