Fixes crates getting collected by buildings or other crates

Long overdue fix for a regression I introduced.

Closes #5953. (Or should, it is very hard to test that specific case.)

Based on code from #6159.
(Tested NRE crash case reported in #6159. Buildings no longer collect crates dropped on them.)
`Is the collecting actor required to have the Mobile trait?` may be better than this although it is not too nice either.

I also think `CrateAction` having a flag for a specific trait (`Mobile`) is bad coupling.
If it doesn't exist in some form already, couldn't we add a `CrateCollector`?