Entities can be destroyed in collision callbacks

This may be changed in the future to allow for for more general cases.
There should be a way to call functions in callbacks and have them wait
until later. Destroy may be a special case because it can't be handled
in update. I suppose time will tell.