ForEach branch support

ForEach branches provide the ability to loop over data collections serially. As a complement to the parallel processing of Triggers, ForEach branches offer an alternative for situations where the order in which a collection is processed matters.