some functions to compat

moved 2 functions to compat.lua
* getSpectators
* doRelocate
I'm not sure iType:isMovable() is good enough to replace:
```if (!it.isGroundTile() && !it.alwaysOnTop && !it.isMagicField() && !it.isDoor()) {```

Have you confirmed that it doesn't move any door or magic field (although logically they shouldn't be movable, the attribute is read from the otb which we shouldn't always rely on)?