fix: always require stable compatibile upgrades (no skip_consent)
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
dfx currently allows you to upgrade a Motoko canister even if it could result in stable variable data loss.
The check for stable compatibility is even skipped when consent is not required (skip_consent).
This PR hopes to make passing the check mandatory, and only allow skipping of consent for warnings.
Fixes #4183 (I hope).
Unresolved issue: since dfx deploy can deploy several canisters, ideally none of them should be deployed if any of the canisters is stable incompatible. I'm not sure this PR achieves that but I don't know enough about dfx code to tell.
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration.
Checklist:
- [ ] The title of this PR complies with Conventional Commits.
- [ ] I have edited the CHANGELOG accordingly.
- [ ] I have made corresponding changes to the documentation.