v0.5.2 — Source-table-direct baseline, UNION SQL gen, optimize hint, ANALYZE TABLE

Key changes:
- Source-table-direct battery runner (no managed edges)
- UNION / UNION ALL SQL generation for SQL-only backends
- execution_mode='sql' on direct runner (no silent fallbacks)
- optimize parameter on engine + /*+ optimize=false */ query hint
- --analyze flag for COMPUTE STATISTICS on all tables
- Spark installed on a remote host (Java 17 + PySpark 4.1.1)

Performance (SF10, cold-cache):
- Direct: 199/201, 19.7 min (2.2x faster than managed)
- Managed: 201/201, 43.8 min