Allow underscore on first label. Doesn't fix tests.
Rename validate_name to validate_fqdn

@murrown okayed this, and I think it reduces confusion.
Allow each label to start with a '_'
Only remove the first '.' after a leading '*'
Merge branch 'spelling' into maintain_migrate-fixes2