Rewrote the validation function to use Ajv instead of enjoi and joi.
The API is virtually the same, but...
- the programmatic API now uses ES modules (import { validate } from "csval";)
- some objects/properties are interpreted by Ajv differently than Joi
- the error messages are different