Support hostname that resolve to IPv6-only address

The current hostname validation does not cope with IPv6-only hostnames. Use getaddrinfo instead of gethostbyname to fix this. getaddrinfo raises the same exceptions and should work like a drop-in-replacement in this scenario.

We should also address the IPv4-only check for if then input is an IP-address but the use of split on ':' is problematic and prevents code to check for IPv6-addresses as input. I'm not sure what the thought behind allowing "name:host" is so leaving it untouched.

I have proposed code to check and warn for both IPv4 and IPv6 address input that I can provide as soon as I understand the scope of parsing "name:host" input.
Update arg_validators.py

o Handle name:ip correctly for IPv6 address
o Handle hostnames that resolves to IPv6-only address
o Detect IPv6 address and raise error when hostname is expected
Update test_arg_validators.py

Update tests to work with getaddrinfo.
Replace tabs with whitespace
Add comment to explain custom side_effect function
Merge pull request #172 from fnordahl/patch-1

Support hostname that resolve to IPv6-only address