Redmine/6553: Fix implicit looping over multiple lists

Pull request for initial review of the changes to the code. Planning to add more test coverage to the acceptance test before merging.
The original implementation always assumed a leading cf_null. That was no longer there actually (due to the previous implementation of AppendIterationVariable skipping over all leading null values *after* prepending one), causing the bug I'm fixing here (the symptom of which being that you see unexpanded variable names for the empty lists in the acceptance test).