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.