Cycle through azs till we find one that works

Update the openstack provider to behave more like ec2. If an attempt to start an instance on an availability zone fails because openstack says there are no available hosts, then try another zone till we find one that works. The provider previously just picked the first zone and didn't try any others.

Fixes: https://bugs.launchpad.net/juju-core/+bug/1380557