How Units Receive Behaviours

This is done in behaviours.lua, units can be explicitly assigned behaviours via a table, or, a fallback function named  defaultBehaviours can figure it out on the fly. This is how builders receive the taskqueuebehaviour and attackers from the attackers.lua list are assigned the attacker behaviour.