Summary:
This diff implements `PgClientSession`/`PgClientService` code modification to reduce code base, improve readability and simplifies further modifications:
- Substitute lots of `PgClientSession`'s constructor arguments with single one of newly create type `PgClientSessionContext`
- Substitute inheritance from `PgClientSession` with aggregation and remove all virtual methods.
- Substitute hand make class `DeferredConstructible` with `std::optional`
**Note:**
Additional benefit is reduction of `PgClientSession`'s size from 752 to 672 bytes.
Jira: DB-14902
Test Plan: Jenkins
Reviewers: sergei, bkolagani, hsunder, esheng
Reviewed By: sergei
Subscribers: ybase, yql
Tags: #jenkins-ready
Differential Revision: https://phorge.dev.yugabyte.com/D41221