if all returned runs are out of tolerance then return run with min error
reduce number of route requests
keep track of leg order
refactered countExcludingNullValues
created distanceTolerance constant