Add support for time-limited actor upgrades.

* Add new upgrade features:
  * Added support for time-limited upgrades and other bookkeeping via the `UpgradeManager` trait.
  * `GrantUpgradePower` allows support powers to give temporary or permanent upgrades.
  * `GrantUpgradeWarhead` allows warheads to give temporary or permanent upgrades.
* Rewrite the Iron Curtain:
  * Uses  `GrantUpgradePower` with the `UpgradeOverlay` and `InvulnerabilityUpgrade` traits instead of custom RA-specific code.
  * Added an invulnerability crate that triggers the same temporary upgrade via a crate.
  * Demolition trucks now explode when iron curtained.
* Other:
  * Replaced `RemoveOnConditions` &rarr; `KillsSelf` to take better advantage of the upgrades code.
  * Fixed issues with time-limited cloak upgrades.
  * Renamed `UnitUpgradeCrateAction` &rarr; `GrantUpgradeCrateAction` to be consistent with the other upgrade sources.
  * Added EMP plumbing to TS.