### Description

Google Cloud Dataproc cluster creation should eagerly delete ERROR state clusters.

It is possible for Google Cloud Dataproc clusters to create in the ERROR state.  The current operator (DataprocCreateClusterOperator) will require three total task attempts (original + two retries) in order to create the cluster, assuming underlying GCE infrastructure resolves itself between task attempts.  This can be reduced to two total attempts by eagerly deleting a cluster in ERROR state before failing the current task attempt. 

Clusters in the ERROR state are not useable to submit Dataproc based jobs via the Dataproc API. 



### Use case/motivation

Reducing the number of task attempts can reduce GCP based cost as delays between retry attempts could be minutes.  There's no reason to keep a running, costly cluster in the ERROR state if it can be detected in the initial create task. 

### 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)

project_id="my-project",
            cluster_name="cluster-1",
            num_workers=10,
            num_preemptible_workers=10,
            graceful_decommission_timeout="1h",
        )
    .. seealso::
        For more detail on about scaling clusters have a look at the reference:
        https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/scaling-clusters
    :param cluster_name: The name of the cluster to scale. (templated)
    :param project_id: The ID of the google cloud project in which
        the cluster runs. (templated)
    :param region: The region for the dataproc cluster. (templated)
    :param num_workers: The new number of workers
    :param num_preemptible_workers: The new number of preemptible workers
    :param graceful_decommission_timeout: Timeout for graceful YARN decommissioning.
        Maximum value is 1d
    :param gcp_conn_id: The connection ID to use connecting to Google Cloud.
    :param impersonation_chain: Optional service account to impersonate using short-term
        credentials, or chained list of accounts required to get the access_token
        of the last account in the list, which will be impersonated in the request.
        If set as a string, the account must grant the originating account
        the Service Account Token Creator IAM role.
        If set as a sequence, the identities from the list must grant
        Service Account Token Creator IAM role to the directly preceding identity, with first
        account from the list granting this role to the originating account (templated).
    """
    template_fields: Sequence[str] = ("cluster_name", "project_id", "region", "impersonation_chain")
    operator_extra_links = (DataprocLink(),)
    def __init__(