ItemList: use tuples, not lists, as the backend storage, to save memory.
ItemList: use tuples, not lists, as the backend storage, to save memory.

Tuples in general take a little less memory than lists because the latter reserve memory for possible elements to be added. The difference is biggest with empty tuples vs empty lists, because the former are implemented as singletons in Python.

A drawback of this change is that `list.append(item)` is a bit faster than `tuple += (item,)`. With short sequences the difference is insignificant, though, and most of the ItemLists are rather short.

userzimmermann/robotframework-python3,userzimmermann/robotframework-python3,userzimmermann/robotframework-python3,userzimmermann/robotframework-python3,userzimmermann/robotframework-python3