**Description**
Currently, we can only pass custom Image name to  **DataprocClusterCreateOperator(),**
as the custom image expires after 60 days, we either need to update the image or we need to pass the expiration token.

Functionality is already available in **gcloud** and **REST**.

`gcloud dataproc clusters test_cluster ......
--image projects/<custom_image_project_id>/global/images/family/<family_name>
.......
`


**Use case / motivation**
The user should be able to pass either Custom Image or Custom Image family name,
so we don't have to update the image up on expiration or use expiration token.


**Are you willing to submit a PR?**
Yes

**Related Issues**
None
airflow/providers/google/cloud/operators/dataproc.py
template_fields = (
        'project_id',
        'region',
        'cluster_config',
        'cluster_name',
        'labels',
        'impersonation_chain',
    )
    template_fields_renderers = {'cluster_config': 'json'}
    @apply_defaults
    def __init__(  
        self,
        *,
        cluster_name: str,
        region: Optional[str] = None,
        project_id: Optional[str] = None,
        cluster_config: Optional[Dict] = None,
        labels: Optional[Dict] = None,
        request_id: Optional[str] = None,
        delete_on_error: bool = True,
        use_if_exists: bool = True,
        retry: Optional[Retry] = None,
        timeout: float = 1 * 60 * 60,
        metadata: Optional[Sequence[Tuple[str, str]]] = None,
        gcp_conn_id: str = "google_cloud_default",
        impersonation_chain: Optional[Union[str, Sequence[str]]] = None,
        **kwargs,
    ) -> None:
        if region is None:
            warnings.warn(