### Description

In the current [CassandraToGCSOperator](https://github.com/apache/airflow/blob/main/airflow/providers/google/cloud/transfers/cassandra_to_gcs.py#L40), [session.execute()](https://github.com/apache/airflow/blob/main/airflow/providers/google/cloud/transfers/cassandra_to_gcs.py#L165) is only able to use the default timeout set by cassandra driver.

The GH issue intends to support timeout as an argument in CassandraToGCSOperator so that the session can execute a query with the custom timeout.

reference: [execute()](https://github.com/datastax/python-driver/blob/master/cassandra/cluster.py#L2575) in cassandra_driver


### Use case/motivation

This support is going to make the query execution more flexible in cassandra operator for the use case where the query is expected to require a different timeout.

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

airflow/providers/google/cloud/transfers/cassandra_to_gcs.py
"""
        Converts a tuple to RECORD that contains n fields, each will be converted
        to its corresponding data type in bq and will be named 'field_<index>', where
        index is determined by the order of the tuple elements defined in cassandra.
        """
        names = ['field_' + str(i) for i in range(len(values))]
        return cls.generate_data_dict(names, values)
    @classmethod
    def convert_map_type(cls, value: OrderedMapSerializedKey) -> List[Dict[str, Any]]:
        """
        Converts a map to a repeated RECORD that contains two fields: 'key' and 'value',
        each will be converted to its corresponding data type in BQ.
        """
        converted_map = []
        for k, v in zip(value.keys(), value.values()):
            converted_map.append({'key': cls.convert_value(k), 'value': cls.convert_value(v)})
        return converted_map
    @classmethod
    def generate_schema_dict(cls, name: str, type_: Any) -> Dict[str, Any]:
        """Generates BQ schema."""
        field_schema: Dict[str, Any] = {}
        field_schema.update({'name': name})
        field_schema.update({'type_': cls.get_bq_type(type_)})
        field_schema.update({'mode': cls.get_bq_mode(type_)})
        fields = cls.get_bq_fields(type_)
        if fields:
            field_schema.update({'fields': fields})
        return field_schema
    @classmethod
    def get_bq_fields(cls, type_: Any) -> List[Dict[str, Any]]: