fix oneOf attribute logic
force oneOf to use exceptions to properly count validation errors.

I noticed that schema.validate wasn't returning true/false consistently
when a validation failed.  It doesn't seem the contract of the
JSON::Schema#validate method is to return true/false.
JSON::Schema#validate just defers to JSON::Schema::Validator#validate
which always returns the data as opposed to some true/false value.