Increase safety of UnitAI formation code
- PushOrderFront could lead to an infinite loop if walking fails.
- Move units in formation before issuing the move order (or the formation may not exist).
Differential Revision: https://code.wildfiregames.com/D3411