Rather than having two redundent checks in two different places, having
one simplier check in one place is easier to maintain and makes the
return site consistent.
Also adjusts the unit test to reflect this change. Before the change, the behavior would appear to be correct, however, the function would return an error because of the label length rather than erroring because of the length of the entire qname.