Changed around the ordering of the code to advance to the next step and
the check for a bad route. Also, the bad route check is now more
forgiving checking up to 3 times before issuing a failure for path
coherence. If the issue persists attempt to remove bearing calculations
from the function and test it.