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
Merge commit '14fc8ffc5f86de064ee633c19ebd82a67e2bdb56' into develop