v.19.14Improvement

Move Most of Joins Prepare Logic from Expressionaction/expressionanalyzer to Analyzedjoin

Move most of JOINs prepare logic from ExpressionAction/ExpressionAnalyzer to AnalyzedJoin. #6785 (Artem Zuikov)
Moved the majority of JOIN preparation logic from ExpressionAction and ExpressionAnalyzer components to a new AnalyzedJoin structure.

Why it matters

This change centralizes and simplifies the JOIN preparation process, improving code maintainability and making the JOIN processing logic more modular and easier to manage for future enhancements.

How to use it

This is an internal refactor and does not require any changes from users. JOIN queries continue to work as before but benefit from improved internal handling.