Resolving names isn't ASCII-case-insensitive

Service names are DNS labels, which are defined by the DNS RFCs to be case-insensitive within the ASCII range: A == a (although not outside that range: Á != á), but python-zeroconf doesn't fully implement this. (There are a few lower() calls, but not enough to make everything work.)

Steps to reproduce:

Expected result:

  • The resolver finds MY SERVICE NAME, treating it as a valid answer to the question "where is My Service Name?", and prints its ServiceInfo

Actual result:

  • The resolver waits for a reply and then prints None