feat(lockfile): support for parsing pnpm lockfile v7 (#7853)
### Description
Pnpm is releasing a new version of the pnpm lockfile. The changes that
break us are:
- https://github.com/pnpm/pnpm/pull/7752
- https://github.com/pnpm/pnpm/pull/7700
Future work will probably looking at dropping support for pnpm v7
depending on usage numbers.
This PR does not implement `prune` for the latest lockfile, but instead
will throw an error if one tries to prune a version 7 lockfile.
### Testing Instructions
Added unit tests that use lockfiles generated by `pnpm@9.0.0-beta.0`
Manual testing with example repository.