[OPTIQ-372] Change LoptOptimizeJoinRule & PushFilterPast* rules to use factory