Low: scheduler: when blocking starts, block children's starts as well
When a colocation dependent can't be started due to the primary not starting,
mark_start_blocked() would previously block any start actions for the resource
itself, but not for its children. For collective resources, the parent
pseudo-action being unrunnable does not always block the same real action for
its children, so explicitly block the children's actions as well.
Also, add a doxygen block, drop a redundant argument, and broaden it into
mark_action_blocked() by taking the task as a new argument, for future reuse.