Refactor validation process (refs #7289)

Validation now will end up setting one of 3 values for
admin.valid_after_enrich:

* true - if instance validates
* false - if instance does not validate
* null - if something else unexpected happens or fails

In additon, this adds a new property, admin.validation_message
containing the *first* error message reported by python-jsonschema