Nova openstack cloud adapter improvements

This adds availability_zone to some nova cloud adapter functions.
Documentation is not included, I'll add a separate issue that it should probably be documented somewhere what features are available for the different cloud adapters etc.

It also fixes an issue with security groups in the nova driver, ie. they work now.

Finally, the NeCTAR cloud (aka Australian research cloud) does not use floating IPs (wish they did) and so in order to get any IP address I added a condition to use the 'access_ip' metadata if no other IP address can be found.
This is also used for Rackspace, I think, so maybe the Rackspace knowledgable person can make their code more generic instead? I'm happy to split up the pull requests if necessary, just let me know.