fix `npm ls` labeling issue

Old problem from #4179: when a dependency's depth equals the specified max depth, it does not get properly labeled as "Unmet dependency", "invalid" or "extraneous".

This problem stems from the `read-installed` package which is not handling this edge case properly. It simply returns a string with no problem information when depth==maxDepth.

NOTE: This patch requires the `read-installed` package to be updated as well to pass the tests.