Summary:
Adding in initial support for drop table/index + some related objects.
Since dropped objects are not captured by pg_event_trigger_ddl_commands and only captured by
pg_event_trigger_dropped_objects, I am adding in a new event trigger on sql_drop to capture and
check dropped objects. For the time being this is just doing simple checks (checking for temporary
objects) as the trigger happens after the delete has occured, so it is difficult to do lookups. If
necessary in the future, we could expand pg_event_trigger_dropped_objects to have additional data,
but that is not needed at the moment.
As part of this, I am pulling out should_replicate_ddl to a global variable that is per DDL. So now,
if a DDL has any object that is dropped/created/modified and we need to replicate it, then we will
replicate the entire command.
Adding in a new event trigger on ddl_command_start to reset this variable and also moving prechecks
here (eg multicommand check).
Note: For the time being until ghi #22320, we will block drops of any relations in a colocated
database. We could do as I mentioned above and add is_colocated to pg_event_trigger_dropped_objects,
but that would be just be removed in a soon to come diff, so opting for a simpler temp solution.
Jira: DB-7981
Test Plan:
```
ybd --java-test "org.yb.pgsql.TestPgRegressYbExtensionsYbXclusterDdlReplication"
ybd --cxx-test xcluster_ddl_replication_pgregress-test --gtest_filter "XClusterPgRegressDDLReplicationTest.PgRegressCreateDropTable"
ybd --cxx-test xcluster_ddl_replication_pgregress-test --gtest_filter "XClusterPgRegressDDLReplicationTest.PgRegressCreateDropTable2"
ybd --cxx-test xcluster_ddl_replication_pgregress-test --gtest_filter "XClusterPgRegressDDLReplicationTest.PgRegressCreateTableUnsupported"
ybd --cxx-test xcluster_ddl_replication_pgregress-test --gtest_filter "XClusterPgRegressDDLReplicationTest.PgRegressCreateDropPartitionedTable"
ybd --cxx-test xcluster_ddl_replication_pgregress-test --gtest_filter "XClusterPgRegressDDLReplicationTest.PgRegressCreateDropTablePartitions"
ybd --cxx-test xcluster_ddl_replication_pgregress-test --gtest_filter "XClusterPgRegressDDLReplicationTest.PgRegressCreateDropTablePartitions2"
```
Reviewers: hsunder, xCluster
Reviewed By: hsunder
Subscribers: ycdcxcluster, ybase, yql
Differential Revision: https://phorge.dev.yugabyte.com/D34898