Add private_ip_fallback for when no public IP exists

Found an issue when working with AWS VPC where an instance had no public IP address, only a private IP address. This addition adds a behaviour where, in the absence of a public IP address, chef-metal will try to use the private address.