Summary:
This diff perfroms refactoring only, no logic are affected by the change.
The following code redesign changes are made:
- All independent fields in `PgSession` class related to FK optimization (`fk_reference_cache_`, `fk_reference_intent_`, `fk_intent_region_local_tables_`) are placed into newly created class named `PgFKReferenceCache`
- The instance of `PgFKReferenceCache` is placed in `PgApiImpl` instead of `PgSession` because `PgSession` does nothing with FK cache.
- Two tightly coupled entities `TableYbctidVectorProvider` and `YbctidReader` are substituted with single class named `YbctidReaderProvider`
- The instance of `ExplicitRowLockBuffer` is moved from `PgSession` into `PgSession` because `PgSession` does nothing with it.
Jira: DB-14665
Original commit: 9fc2912c7fc6fcdcb6d167abfd52c57eae5a6ec9 / D42177
Test Plan: Jenkins
Reviewers: pjain, myang, kramanathan
Reviewed By: myang
Subscribers: yql
Tags: #jenkins-ready
Differential Revision: https://phorge.dev.yugabyte.com/D42519