IPV6 and LowerCase issues

Having left the issue message, I decided that it was pathetic that I didn't know how to push and pull.  So having read up on it, I hope that this is the correct way to send you my proposed changes.  The issues fixed are:

There is an issue if the domain or subdomain is not all lowercase. I was sloppy and it took a while to sort it. I forced LC, so:
Line 44: host = "%s.%s" % (subdomain.lower(), domain.lower())

I needed to change line 45 to force IPV4. Failed when using mobile as hotspot as Verizon is IPV6 enabled and http://icanhazip.com returns IPV6 by default. So:
Line 45: ip = urllib2.urlopen("http://ipv4.icanhazip.com").read()[:-1]

I hope this works! :-)