This method is called to validate and potentially
coerce VALUE for the receivers key path.
This method also assigns the value if it is
different from the current value. This
method will raise an EOValidationException if
validateValue:forKey: returns an
exception. This method returns new
value.