This backports #13430.
* snap: fix doc string on SelfContainedSetPrereqTracker
* o/devicestate: make sure that snaps for pre-existing model are already installed in tests
* overlord: make sure that snaps for pre-existing model are already installed in tests
* overlord, o/devicestate: use SelfContainedSetPrereqTracker to track prereqs during remodel
* overlord, o/devicestate, o/s/snapstatetest: move common test helpers to snapstatetest
* snap: add SelfContainedSetPrereqTracker.Snaps method for getting all snaps tracked by tracker
* overlord, o/devicestate: prevent remodel to model with base that does not match gadget base
* tests, tests/core/remodel-base: update remodeling test to also swap gadget when swapping base