Make CommitResources accept a target, not a type.
This moves some resource committing logic from UnitAI to ResourceGatherer.
Allows easier modification by modders, and cleaner separation of concerns.
Check if the carried resources actually changed before sending the message.
Make all paths through Repair.ConstructionFinished return resources.
Patch by: Freagarach
Reviewed By: wraitii
Differential Revision: https://code.wildfiregames.com/D2664