test: support recursive test files
This PR adds support for recursive testing, and once merged, it will become the groundwork for a hopeful reorganization of the test files currently used in the Node.js repository.
Reopen of #52901, as it contained eslint merge issues. Those changes are no longer needed under the newer ESlint configuration