rP23630 Moved the message sent that an entity garrisons from PerformGarrison to Garrison. However, when an entity is autogarrisoned from ProductionQueue, PerformGarrison is called thus not triggering the message. When ejecting the entity from the structure there is a message sent that the entity is removed, thus allowing for a negative amount of archers/arrows in BuildingAI (see rP23630#42654).
This diff replaces PerformGarrison in the ProductionQueue with Garrison.
Note that PerformGarrison was explicitly split in rP14144 when introducing autogarrisoning. It probably has something to do with the position, since that was split. But I couldn't find any reason why it cannot be used now.
A side effect of this is that when autogarrisoning an entity with visible garrison points those will be occupied as well now.
Since PerformGarrison is now unused, and rightly, the two functions are combined again.