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
I think it would be worthwhile verifying this error path was in fact taken. At the moment we sort the AZs by population and then name, which means it will, but someone could inadvertently break that.