Use ArrayBuffer to speed up append operation

This is a breaking change as the recipient of the Block will not be able to assign List to ArrayBuffer and vice-versa.

Other option would have been to still use List but prepend element than call reverse before executing, but this is also breaking since the receiver will not have the 'reverse' call and will execute out of order.

This seems to be the safest change to get important (two orders of magnitude) performance improvements on large operation lists.