RefundsUnits trait to generalize SupplyTruck + AcceptsSupplies.

~~[previous bad impl]~~

**New implementation:**

No `Cargo` abuse this time.
Works the same as capturing per @pchote's suggestion.

~~[Failing](https://github.com/OpenRA/OpenRA/pull/5925#issuecomment-52877026) for the time being.~~
Ugh, this is ugly. Can we just cleanly remove instead of kill the actor to avoid this triggering in the first place?