Enhancing Flink deployment with shadow testing

Introduced a Shadow Testing stage into the Flink deployment pipeline. This stage deploys a 'Shadow' Flink application in a separate Kubernetes namespace with distinct parameters (`isShadow=true`, prefixed names, separate Job ID). The Shadow application runs for a configured period (default 1 hour) to reach a steady state, allowing for comparison with the 'Main' application's behavior. Connector implementations are dynamically configured to use distinct consumer group IDs (Kafka), shifted Server ID ranges (Debezium), dedicated shadow Kafka clusters/S3 buckets, and prefixed metrics/logs. This process aims to eliminate downtime during deployment failures by identifying issues before the Main application is fully deployed and observed for 10 minutes.