Add some backoff to find_best_address
Add some backoff to find_best_address

I'm seeing

  The cloud returned multiple addresses, and none of them seem to
  work. That might be what you wanted, but we have no clue what's
  going on, so we just picked one at random

Which isn't super helpful.  The problem turns out to be that the
address that is being probed returned "no route to host" (errno 113)
temporarily while the interface came up; with just a second or two
more this interface was actually active.

It's hard to say exactly, as this is all a bit hand-wavy ... but I
think it's worth guessing that a socket.error on a booting host *may*
resolve itself, and is worth a few retries to be a bit more generous.
Emperically, this has made finding the address more reliable when
bringing up nodes from puppetmaster->packethost in infra.

This also adds some more info to the debug message.

Change-Id: I0429f7e77f42180f27bbdd063790474a9fd96cbb

openstack/python-openstacksdk,dtroyer/python-openstacksdk,stackforge/python-openstacksdk,openstack/python-openstacksdk,dtroyer/python-openstacksdk,stackforge/python-openstacksdk