Fixes #239 - Upgrade logic now enhanced not to fire if all structures are busy.
Cancelling an upgrade will now re-enable it's alert timer if one exists.