Safer varnish logic with nil checks on best_ip_for

While working on .kitchen.yml, I noticed there were some weird edge cases when some attributes went missing. This commit makes that a safer thing that causes warnings, instead of adding nil keys to a hash, only to blow up later when the hash is used.