Made validation sub errors indicate where they come from

When using anyof or allof in a schema, all of the validation errors for
all of the subschemas are shown in a flat list - all concatenated
together. This makes it very hard (or impossible) to see where in the
schema individual errors come from, and makes it hard to debug the
errors in your json.

This change groups subschema errors together, according to which schema
they appeared under.