Protecting from double-removals from GameWorld

Using a list, checking it twice. Removing twice is bad because the
second time around it generates an erase range at using two end
iterators and that causes bad things to happen (SEGFAULT).
Testing code for shielding/deflection