Follow up to fixes for redmine/6553

With the previous fix, iteration skips the entire promise if
any of the lists to be iterated over is empty. This leads to
incorrect behavior in case of nested lists, where one of the
combinations of lists would be empty. Acceptance test addition
covers this case as well now.

The fix is now more intrusive. We don't include empty lists
any longer when parsing the string during expansion. Instead,
abort expansion, and skip this particular promise iteration.

The previous fixes remain in place.
Skip method evaluation if any parameter is cf_null

Fixes another Redmine #6553 case
Revert "Temporary fix: inline the suppress/soft list evaluation."

This reverts commit c96a9a1c0117018899d92958fefa89bbce685311. No
longer required after additional fixes made to list expansion.