Recurse fieldset validation

By doing this, subclasses of Fieldset get the opportunity to
validate themselves from the input, rather than having the parent
do all the work and make possibly false assumptions.