In the inline version (_svcauth_unix()), fix multiple possible OOB reads
when the credentials part of a request is too short to contain mandatory
fields or with respect to the hostname length or number of groups it
advertises. The previously existing check was arriving too late and
relied on possibly wrong data coming from earlier OOB reads.
While here, use 'u_int' as the length/size type, as it is more than
enough and removes the need for conversions. While here, factor out
setting 'stat' to AUTH_BADCRED and then jumping to 'done' on error,
through the new 'badcred' label. While here, through comments, refer to
what the non-inline version is doing (xdr_authunix_parms() in
'authunix_prot.c') and the reasons.