Add checks for ipv4, ipv6 and hostname in HostNameCheck

Browsing the source and found a #FIXME for HostNameCheck in config.py. This new version,  first does a simple DNS check, then ipv4 and then ipv6 on the host argument, if all of them fail it still does a fallback to the current check. It also breaks out of the checks execution loop on the first successfull try, uses gethostbyname, and inet_pton with AF_INET and AF_INET6 for doing ipv4/6 checks.