Rejigged custom validations to hang off the JSONModel class instead of the module.

Still need to store a reference to the validations in the schema, but at least
it's only one reference rather than the list of validations.
Switch the schema to use an atom
Reworked JSONModels to make schemas reloadable