### 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
hook = CassandraHook(cassandra_conn_id=self.cassandra_conn_id)
        cursor = hook.get_conn().execute(self.cql)
        files_to_upload = self._write_local_data_files(cursor)
        
        if self.schema_filename:
            files_to_upload.update(self._write_local_schema_file(cursor))
        
        for file_handle in files_to_upload.values():
            file_handle.flush()
        self._upload_to_gcs(files_to_upload)
        
        for file_handle in files_to_upload.values():
            file_handle.close()
        
        hook.shutdown_cluster()
    def _write_local_data_files(self, cursor):