cmArgumentParser: Generalize internal state tracking Use a `std::function` to support general actions on value arguments.