Fix draft3 `disallow` validation

Only two tests were failing in the `disallow` test for draft3. The underlying issue was the recursive use of validation in TypeAttribute: if `options[:disallow]` was true, it would continue to be passed to the inner type validations, which would invert the actual result.