coredata: UserOption subclasses only need to implement validate_value()
coredata: UserOption subclasses only need to implement validate_value()

Implementing set_value() in the base class simplifies the code and
ensure validation is always consistent.

This fix UserIntegerOption.validate_value() not checking min/max value,
and UserArrayOption.validate_value() raising exception because it does
not pass a value for user_input argument of validate() method.

becm/meson,jpakkane/meson,MathieuDuponchelle/meson,pexip/meson,jpakkane/meson,pexip/meson,mesonbuild/meson,thiblahute/meson,QuLogic/meson,thiblahute/meson,jpakkane/meson,pexip/meson,jeandet/meson,thiblahute/meson,becm/meson,becm/meson,MathieuDuponchelle/meson,jeandet/meson,thiblahute/meson,QuLogic/meson,becm/meson,jpakkane/meson,mesonbuild/meson,mesonbuild/meson,mesonbuild/meson,pexip/meson,QuLogic/meson,jpakkane/meson,pexip/meson,MathieuDuponchelle/meson,QuLogic/meson,mesonbuild/meson,QuLogic/meson,mesonbuild/meson,jpakkane/meson,pexip/meson,jeandet/meson,becm/meson,QuLogic/meson,jeandet/meson,MathieuDuponchelle/meson,pexip/meson,mesonbuild/meson,becm/meson,jeandet/meson,thiblahute/meson,MathieuDuponchelle/meson,MathieuDuponchelle/meson,pexip/meson,jpakkane/meson,becm/meson,mesonbuild/meson,QuLogic/meson,MathieuDuponchelle/meson,thiblahute/meson,MathieuDuponchelle/meson,jeandet/meson,jpakkane/meson,mesonbuild/meson,mesonbuild/meson,thiblahute/meson,thiblahute/meson,pexip/meson,MathieuDuponchelle/meson,jpakkane/meson,jeandet/meson,becm/meson,pexip/meson,jeandet/meson,thiblahute/meson,QuLogic/meson,becm/meson,jeandet/meson,becm/meson,QuLogic/meson