Add retry/timeout mechanism around AzureDefaultCredential

In some deployments, upon load traffic, AzureDefaultCredential fails to properly get credentials. Then add some retry and timeout to be more resilient regarding these failure.