### Description

Currently some code in RDS Operators use boto waiters and some uses a custom `_await_status`, the former is preferred over the later (waiters are vetted code provided by the boto sdk, they have features like exponential backoff, etc). See [this discussion thread](https://github.com/apache/airflow/pull/27076#discussion_r997325535) for more details/context.

### Use case/motivation

_No response_

### Related issues

_No response_

### Are you willing to submit a PR?

- [ ] 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)

op = RdsSnapshotExistenceSensor(
            task_id="test_instance_snap_false",
            db_type="instance",
            db_snapshot_identifier=DB_INSTANCE_SNAPSHOT,
            aws_conn_id=AWS_CONN,
            dag=self.dag,
        )
        assert not op.poke(None)
    @mock_rds
    def test_db_instance_cluster_poke_true(self):
        _create_db_cluster_snapshot(self.hook)
        op = RdsSnapshotExistenceSensor(
            task_id="test_cluster_snap_true",
            db_type="cluster",
            db_snapshot_identifier=DB_CLUSTER_SNAPSHOT,
            aws_conn_id=AWS_CONN,
            dag=self.dag,
        )
        assert op.poke(None)
    @mock_rds
    def test_db_instance_cluster_poke_false(self):
        op = RdsSnapshotExistenceSensor(
            task_id="test_cluster_snap_false",
            db_type="cluster",
            db_snapshot_identifier=DB_CLUSTER_SNAPSHOT,
            aws_conn_id=AWS_CONN,
            dag=self.dag,
        )
        assert not op.poke(None)
class TestRdsExportTaskExistenceSensor: