Initial search option validation code

Adds new ValidationError enums and validation test methods, and
validation results classes.