Units in 0 A.D. currently exhibit a "gliding" behaviour at the end of a movement: they switch to the Idle animation and still move a little bit.
This is because of poor handling of state and one risky behaviour: checking if we are at destination after movement has taken place. Effectively, UnitMotion says it's arrived on the same turn as it moved, which breaks expectations in other components.
Instead, what should be done is checking if we've arrived before moving, so if UnitAI calls StopMoving, we won't move at all on the same turn, and the gliding effect vanishes.
The STATE_STOPPING state is made un-necessary by this change, since this off-by-one mistake was the reason for its existence. It can be removed (see downstream).
Because of D1897, this is a simple change.