## Description
This makes changes to the external resolver so that multiple package
graphs are read per resolver (null-separated strings). This also makes
it so that an externally resolved dependency entry does not actually
have to correspond to the package name. E.g., from
https://github.com/MystenLabs/sui/pull/19561, `A` can be any name when
`r.foo` is specified:
```toml
A = { r.foo = "bar", <other args if you want here> }
```
## Test plan
Added a test to exercise parsing multiple null-separated lock contents.
This also tests that it is not required for the dependency to be named
as a recognized package.
---
## Release notes
Check each box that your changes affect. If none of the boxes relate to
your changes, release notes aren't required.
For each box you select, include information after the relevant heading
that describes the impact of your changes that a user might notice and
any actions they must take to implement updates.
- [ ] Protocol:
- [ ] Nodes (Validators and Full nodes):
- [ ] Indexer:
- [ ] JSON-RPC:
- [ ] GraphQL:
- [x] CLI: Changes to external dependency resolution: allows processing
multiple null-separated contents to extend the package graph per
resolution call.
- [ ] Rust SDK:
- [ ] REST API: