For a separate pull request, but... is `getPublicHostname` really the right name for this? We're looking for an ip or hostname that is reachable from the brooklyn machine. Maybe we should be using getFirstReachableAddress for more than just aws-ec2. For example, rackspace have public and private IPs - if brooklyn is also running within rackspace then do we have to use the private IP (other than for just cost)?