Added ability to make upgrades

This is a continued version of #5375 rebased and ready to go.

If you want a testcase go to this branch https://github.com/WolfGaming/OpenRA/tree/D2KUpgradeTest it adds an upgrade queue and some upgrades to D2K, 4 of them are used to unlock buildings/units and 1 of them is used to give a 10% armor reduction for infantry.
This new twisty plumbing shouldn't be necessary.  We should already support the usecase here by defining a dummy exit and setting `MoveIntoWorld: false` on Production.