Refactor: scheduler: make unpack_operation_on_fail() take separate arguments
... instead of an action object, in preparation for planned changes. Also,
add a doxygen block, and rename to validate_on_fail() since it doesn't actually
unpack anything.