## Description
If the validator binary includes a system package that doesn't exist
on-chain, then during the protocol/framework upgrade that introduces it,
we shoud run its module initializer. This aligns with the behaviour
during genesis (where we already run the module initializer for system
packages).
Note that the module init must succeed, or the validator panics (this is
also the case when module initializers are run as part of genesis).
## Test Plan
New test for a framework upgrade that introduces a system package with a
module initializer.
### Type of Change (Check all that apply)
- [ ] user-visible impact
- [ ] breaking change for a client SDKs
- [x] breaking change for FNs (FN binary must upgrade)
- [x] 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