I hope we never actually pass FQDNs to validate_domain_name, because it freaks out when there's a trailing dot.

Also, those functions return None and either raise a ValidationError or don't. That interface would be useful sometimes, including in dhcp_migrate.py, but I'm thinking we should refactor it so (for example) `validate_domain_name()` calls `is_domain_name()` and raises a ValidationError if it returns False. That way someone who just wants to know if a domain name is valid could call `is_domain_name()` and not have to deal with catching an exception.