provider/openstack: implement AZ spread

OpenStack counterpart to #55

Fixes https://bugs.launchpad.net/juju-core/+bug/1183831
I think it's a good thing to get nervous about it, but I don't think there's any need to change anything.

In Python you'd probably just go ahead and access the field, z.AvailabilityZone, right? And if it weren't there, you'd get an exception. This seems no different to me, it's just more explicit about it.