This MR aims at supporting different jsonschema drafts for the validation.
I stopped in the middle, as some 2019-09 draft messages are a bit tricky to implement. Filed an issue on jsonschema repo to simplify this.
Without the simplification, the error specific data for minContains
will be easier after !6 (merged) refactorings.
Closes #2.