Facilitates #258: allows setting separate lambdas or closures for the getter or setter logic.
Also, catch any RuntimeExceptions thrown from the getter/setter and rethrow wrapped in PicocliException from ArgSpec.getValue/setValue.
Consider passing in the ArgSpec instance to both the getter and the setter.