Stop parents from killing other parents' children

I accidentally discovered this issue when I called
containerThatDoesntContainSomeNode.RemoveChild(someNode); and it made
some weeeeird bugs happen. Obviously containers shouldn't be able to
remove children if they aren't the container of those children.