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.
This looks like it was accidentally introduced via a rebase.