### Description
Re: Google Cloud Provider -- PubSub

The PubSub [Topics Create API](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics/create#request-body) supports the SchemaSettings and messageRetentionDuration parameters. These should also be supported via the [PubSubCreateTopicOperator](https://github.com/apache/airflow/blob/9207e7d5e5c183d2e63c3030216b14709257668e/airflow/providers/google/cloud/operators/pubsub.py#L50). Thanks!

### Use case/motivation

_No response_

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

)
                >> PubSubCreateSubscriptionOperator(
                    project_id='my-project',
                    topic='my-topic',
                    subscription='my-subscription',
                    fail_if_exists=True,
                )
            )
    Finally, subscription is not required. If not passed, the operator will
    generated a universally unique identifier for the subscription's name. ::
        with DAG('DAG') as dag:
            PubSubCreateSubscriptionOperator(project_id='my-project', topic='my-topic')
    ``project_id``, ``topic``, ``subscription``, ``subscription_project_id`` and
    ``impersonation_chain`` are templated so you can use Jinja templating in their values.
    :param project_id: Optional, the Google Cloud project ID where the topic exists.
        If set to None or missing, the default project_id from the Google Cloud connection is used.
    :param topic: the topic to create. Do not include the
        full topic path. In other words, instead of
        ``projects/{project}/topics/{topic}``, provide only
        ``{topic}``. (templated)
    :param subscription: the Pub/Sub subscription name. If empty, a random
        name will be generated using the uuid module
    :param subscription_project_id: the Google Cloud project ID where the subscription
        will be created. If empty, ``topic_project`` will be used.
    :param ack_deadline_secs: Number of seconds that a subscriber has to
        acknowledge each message pulled from the subscription
    :param gcp_conn_id: The connection ID to use connecting to
        Google Cloud.
    :param push_config: If push delivery is used with this subscription,
        this field is used to configure it. An empty ``pushConfig`` signifies