include timeout with closure in parent loop for findRoutes function, to make start variable available inside the timeout
revise findRoutes function to use closures to maintain the scope inside the timeout. still having bugs.
tweak timeout loop, works as long as no more than 3 places are on map. rate limit still a problem.
simplified timeouts so only needed once, and move setTimeout's callback to outside the loop
add a retry on query limit
streamline calculating directions so that one set of addresses is processed at a time to avoid queue and more efficiently avoid rate limit issues
console log request success and retries