## Description
Add two `Store` implementations:
- RocksDBStore as the real persistent store.
- MemStore for testing.
`DagState` will be implemented in the next PR.
A few changes from https://github.com/MystenLabs/sui/pull/15630 and
https://github.com/MystenLabs/sui/pull/15684 are pulled into this PR.
## Test Plan
Unit tests.
---
If your changes are not user-facing and do not break anything, you can
skip the following section. Otherwise, please briefly describe what has
changed under the Release Notes section.
### Type of Change (Check all that apply)
- [ ] protocol change
- [ ] user-visible impact
- [ ] breaking change for a client SDKs
- [ ] breaking change for FNs (FN binary must upgrade)
- [ ] breaking change for validators or node operators (must upgrade
binaries)
- [ ] breaking change for on-chain data layout
- [ ] necessitate either a data wipe or data migration
### Release notes