Action: improve logging in job validation

Now use raise ValidationError instances rather than just using
assertions (as does the output file validation routine) in order
to be able to attach messages.  These message are now included
in the job state change message.  Also added some logging calls
to the validation routine.