Fix illegal movements by edit.unit_move()
Attached patches should do it - not properly tested yet. For S3_0 will need also to check that passing NULL as embark_to isn't compatibility break (is the traditional behavior to embark to automatically selected transport?)
I was pretty sure that calling (Archers):move(TileNearbyWithEnemyMigrants, 1) will make the Archers capture the Migrants, or at worst case it will be blocked, but in fact it puts the archers on the same tile with enemy units without capturing them. Likely, it can create other illegal positions. Btw, I can't understand, would 3.0 or later method ever do some actions you'd expect from emulating arrow key pressed by Lua.