### Description


spark-submit command has one of the options to pass the properties file as argument. Instead of loading multiple key, value via --conf option, this will help to load extra properties from the file path. While we have support for most of the arguments supported in spark-submit command in SparkSubmitOperator, this one `property-files` is missing. Could that be included?
```[root@airflow ~]# spark-submit --help
Usage: spark-submit [options] <app jar | python file | R file> [app arguments]
Usage: spark-submit --kill [submission ID] --master [spark://...]
Usage: spark-submit --status [submission ID] --master [spark://...]
Usage: spark-submit run-example [options] example-class [example args]

Options:

 --conf, -c PROP=VALUE       Arbitrary Spark configuration property.
  --properties-file FILE      Path to a file from which to load extra properties. If not
                              specified, this will look for conf/spark-defaults.conf.
```


### Use case/motivation

Add the property-files as one of the options to pass in the SparkSubmitOperator to load the extra config properties as file

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

missed_job_status_reports = 0
        max_missed_job_status_reports = 10
        
        while self._driver_status not in ["FINISHED", "UNKNOWN", "KILLED", "FAILED", "ERROR"]:
            
            time.sleep(self._status_poll_interval)
            self.log.debug("polling status of spark driver with id %s", self._driver_id)
            poll_drive_status_cmd = self._build_track_driver_status_command()
            status_process: Any = subprocess.Popen(
                poll_drive_status_cmd,
                stdout=subprocess.PIPE,
                stderr=subprocess.STDOUT,
                bufsize=-1,
                universal_newlines=True,
            )
            self._process_spark_status_log(iter(status_process.stdout))
            returncode = status_process.wait()
            if returncode:
                if missed_job_status_reports < max_missed_job_status_reports:
                    missed_job_status_reports += 1
                else:
                    raise AirflowException(
                        f"Failed to poll for the driver status {max_missed_job_status_reports} times: "
                        f"returncode = {returncode}"
                    )
    def _build_spark_driver_kill_command(self) -> list[str]: