add support for anyOf

I wanted to be able to say that this array of elements can be any of these types of schemas.

`anyOf` keyword requires an array, so this patch also descends into arrays.