Unit Motion - improve PathResult/Obstructed move handling
Reorder code flow, handle long paths and short paths in a more explicit manner, and only fail after a certain number of failed path computations to avoid going idle too easily.
Make sure WALKING orders in UnitAI stop when the move fails to avoid units being stuck.
Differential Revision: https://code.wildfiregames.com/D1907