CheckTargetMovement was the function in charge of updating the goal if the target has moved / we wouldn't reach it with our current path.
It did a pretty shoddy (and weird) job of it.
This new version compares our final waypoint with the goal and uses reachability checks to know if we will be in range or not.