Upgrading player gui
Merge pull request #6543 from s1ww/upgraded_gui

Upgrading player gui redux
Remove duplicated IronCurtainable rules.
Add a UnitUpgradeManager trait.

This introduces support for timed upgrades, starting with crate buffs.
Fix cloak upgrade expiration.
Reimplement iron curtain as a generic stat upgrade.
Add the invulnerability crate to RA.
Add a TimedUpgradeWarhead and initial TS EMP implementation.
Convert SelfHealing to upgrades.
Add self-healing for elite units.