Added upgrades

This adds a new build queue and a new type of buildables named upgrades, they might need some extra variables to tweak but this is a start. Also included a test upgrade to test, let me know when you want to merge and I will remove it.
These all probably should be `upgradeInfo.DamageModifier`.