[SPARK-3936] Remove Bytecode Inspection for Join Elimination

Removing bytecode inspection from triplet operations and introducing explicit join elimination flags.  The explicit flags make the join elimination more robust. 
I don't think this change is correct - see the comment on the line above.