Add in a retry loop for route53 requests

The route53 api doesn't allow multiple overlapping requests, so if
it is still processing a previous request when the next comes in will
return an error.

Fixes #4085