fix jclouds provisioning in case where we don't have public ip's, and the hostname is not resolvable, but the private ip address is.
(previously we always preferred hostname if there was no public ip.)
clarify how to set up cloudstack
speed up yaml tests
code tidy following code review
use ID for location, rather than URL, everywhere; fixes bug where addRegion passed non-parsable display name or url
tweak geoscaling so it doesn't attempt to contact server during init (as that slows down web gui deployment)