Describe the enhancement requested
Splitting up #494 to make review more manageable.
If a Flight SQL server returns a set of locations to try, and one of the locations is never reachable, we currently wait the full connect timeout on every attempt. This is rather painful. As a stepping stone to full caching of clients (#157), we can cache failures and avoid trying those locations first on subsequent queries (we can still try them last in case other locations fail).