Report multiple 'leaf' errors rather than one schema error

Add ability to report all errors in case multiple nested types fail validation

With this change only simple type errors are reported - one will never
see an error saying that ' { "some" : "object" }' is not of type '{
"some": "schema" }'