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 GrantUpgradeWarhead and initial TS EMP implementation.
Replace RemoveOnConditions with KillsSelf.

Upgrades offer more flexibility than prerequisites.
Detonate demo trucks when they are iron-curtained.
Rename UnitUpgradeCrateAction to GrantUpgradeCrateAction.
Expose upgrades to map scripts.
Remove the now-redundant ScriptInvulnerable trait.
Extended IMove for Enter logic
Extend Enter activity class for (re)usability in enter/exit/dock logic
Merge pull request #6556 from pchote/upgrade-all-the-things

Add support for time-limited actor upgrades.
Avoid reading CenterPosition of invalid targets in DamageWarhead

Fixes #6642
Merge pull request #6645 from obrakmann/fix6642_tib_warhead_crash

Avoid reading CenterPosition of invalid targets in DamageWarhead
Fixed #4640 - Units teleport into transports.
Added IDisableMove
Prevent transport from moving while loading cargo
Merge pull request #6528 from atlimit8/DragIntoTransports

Modifies IMove & Enter and Fixes #4640 - Units teleport into transports