Very liberal hostname parsing

Now accepts any non-whitespace character as part of a hostname,
and any alphanumeric character as the first character.