Support `module_resolution: "nodenext"` (#8748)
### Description
Allow resolving for example `./foo.js` to `./foo.ts`
`.js` can resolve to `.ts` and `.tsx`
`.mjs` can resolve to `.mts`
`.cjs` can resolve to `.cts`
Closes PACK-3031
This is what `tsc --traceResolution` says about priority of the various
possible resolution:
```
======== Resolving module '../libs/f.js' from '/Users/niklas/Desktop/nodenext-app/app/page.tsx'. ========
Explicitly specified module resolution kind: 'NodeNext'.
Resolving in CJS mode with conditions 'require', 'types', 'node'.
Loading module as file / folder, candidate module location '/Users/niklas/Desktop/nodenext-app/libs/f.js', target file types: TypeScript, JavaScript, Declaration.
File name '/Users/niklas/Desktop/nodenext-app/libs/f.js' has a '.js' extension - stripping it.
File '/Users/niklas/Desktop/nodenext-app/libs/f.ts' does not exist.
File '/Users/niklas/Desktop/nodenext-app/libs/f.tsx' does not exist.
File '/Users/niklas/Desktop/nodenext-app/libs/f.d.ts' does not exist.
File '/Users/niklas/Desktop/nodenext-app/libs/f.js' does not exist.
File '/Users/niklas/Desktop/nodenext-app/libs/f.jsx' does not exist.
File '/Users/niklas/Desktop/nodenext-app/libs/f.js.ts' does not exist.
File '/Users/niklas/Desktop/nodenext-app/libs/f.js.tsx' does not exist.
File '/Users/niklas/Desktop/nodenext-app/libs/f.js.d.ts' does not exist.
```
### Testing Instructions
I also added a test case