vipw(8) never looked at names, it just hands the file to pwd_mkdb,
and pwd_mkdb only cared abuot the field layout. So something like
user1$(id$IFS-A) in master.passwd went straight into the db.
Do the same check pw(8) does, in scan(), so vipw, chpass and hand
edits all hit it. NIS +/- entries get checked after the prefix.
Bail out rather then warn; a file with junk names wont rebuild
anymore, whcih is kinda the point.
Add tests while here.
Reported by: Harry Sintonen (Reversec)
Sponsored by: Entersekt