prepareConnection to better support Cloud routing and region-pinning (#783)
When using Cloud, establish connection to fetch region URL so we have better control of routing decisions.
For projects with region-pinning enabled, /settings/regions would only return regions that are allowed. if prepareConnections is not used, Cloud would reject the initial connection if DNS-based routing ends up connecting to a disallowed region.