fix(lockfile): Fix directory resolution variant (#5551)
### Description
Fixes #5529
During the Rust migration I must've messed up the directory field name.
Double checked against
[`@pnpm/lockfile-types`](https://github.com/pnpm/pnpm/blob/main/lockfile/lockfile-types/src/index.ts#L86)
to make sure all of the fields are correct now.
`PackageResolution` should be an enum, but the fact that tarballs are an
untagged variant makes that tricky to communicate to `serde`. A struct
does enough for us.
### Testing Instructions
Added new unit test to make sure we don't lose any fields for the
various variants of the `resolution` field
---------
Co-authored-by: Chris Olszewski <Chris Olszewski>