When re-installing incompatible add-ons preserve compatibility override (#15765)
Fixes #15584
Summary of the issue:
When reinstalling incompatible add-on the fact that user manually overridden its compatibility was lost i.e. add-on was disabled after restart. This occurred because even though name of the add-on was added to the set of add-ons for which compatibility should be overridden, it was removed from the set after restart when uninstalling previous version of the add-on. Note that removal during uninstall is pretty much intentional i.e. when reinstalling add-on with the same name it should not be automatically marked as overridden compatibility, even if its previous version was.
Description of user facing changes
Reinstalled incompatible add-ons should no longer be forcefully disabled.
Description of development approach
Add-ons for which compatibility should be overridden on the next restart are placed in a separate state PENDING_OVERRIDE_COMPATIBILITY. They're moved to the overridden compat state after restart. The code which enables add-ons, and verifies that given bundle can be installed has been modified to take the new state into account.