Use ES6 collections for lookups in crawl().
Use ES6 collections for lookups in crawl().

In a very large JSON schema (>7MiB), it was found that the overwhelming
majority of time was spent on array lookups of the form
`if (arr.indexOf(something) !== -1)`, i.e. existence checks. Changing
a few lookup structures to sets and a map, with O(1) lookup time rather
than O(N) array lookup, provided a 10x speedup.

Unfortunately, the schema is proprietary and cannot easily be shared.

BigstickCarpet/json-schema-ref-parser,BigstickCarpet/json-schema-ref-parser