This adds a new mode to modifications called "tokens" which allows clever token parsing.
Technologies, auras and modifiers in general can use this to switch out, add or delete tokens dynamically.
Implemented use cases:
- Changing production queue and builder entities at runtime.
- Could be used for phase upgrades / unit upgrades (fixes #4332).
Future use cases (will be implemented later, as they are trickier):
- Changing garrisonable entities.
- Changing healable classes.
- Changing attackable classes.
- Changing auras dynamically.
- Changing Identity stuff
- Should be extendable to do fancy-pants props switching on tech upgrades, ultimately.
- That might make it possible to simulate "promotion" without actually promoting, too.