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

@murrown okayed this, and I think it reduces confusion.