Fix package provides overriding packages. This happens when alpine has multiple packages that provide the same binary. For example, nodejs-current and nodejs.
Breaking: require nodejs 18+. Removes node-fetch, uses native fetch.
Allow getting dependency trees of provides as well as packages.
For example, this fixes openssh-client
which is no longer a package but openssh-client-common and openssh-client-default.
Upgrade to node-fetch v3. ESM only package.