### Description

The Databricks jobs 2.1 API has the ability to repair failed or skipped tasks in a Databricks workflow without having to rerun successful tasks for a given workflow run. It would be nice to be able to leverage this functionality via airflow operators.

### Use case/motivation

The primary motivation is the ability to be more efficient and only have to rerun failed or skipped tasks rather than the entire workflow if only 1 out of 10 tasks fail.

**Repair run API:**
https://docs.databricks.com/dev-tools/api/latest/jobs.html#operation/JobsRunsRepairfail

@alexott for visability

### Related issues

_No response_

### Are you willing to submit a PR?

- [X] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

UNINSTALL_LIBS_ENDPOINT = ("POST", "api/2.0/libraries/uninstall")
LIST_JOBS_ENDPOINT = ("GET", "api/2.1/jobs/list")
WORKSPACE_GET_STATUS_ENDPOINT = ("GET", "api/2.0/workspace/get-status")
RUN_LIFE_CYCLE_STATES = ["PENDING", "RUNNING", "TERMINATING", "TERMINATED", "SKIPPED", "INTERNAL_ERROR"]
SPARK_VERSIONS_ENDPOINT = ("GET", "api/2.0/clusters/spark-versions")
class RunState:
    """Utility class for the run state concept of Databricks runs."""
    def __init__(
        self, life_cycle_state: str, result_state: str = "", state_message: str = "", *args, **kwargs
    ) -> None:
        self.life_cycle_state = life_cycle_state
        self.result_state = result_state
        self.state_message = state_message
    @property
    def is_terminal(self) -> bool:
        """True if the current state is a terminal state."""
        if self.life_cycle_state not in RUN_LIFE_CYCLE_STATES:
            raise AirflowException(
                (
                    "Unexpected life cycle state: {}: If the state has "
                    "been introduced recently, please check the Databricks user "
                    "guide for troubleshooting information"
                ).format(self.life_cycle_state)
            )
        return self.life_cycle_state in ("TERMINATED", "SKIPPED", "INTERNAL_ERROR")
    @property
    def is_successful(self) -> bool:
        """True if the result state is SUCCESS"""
        return self.result_state == "SUCCESS"
    def __eq__(self, other: object) -> bool: