Add TValueIterator, a transactional iterator, and make TList and TDict's iterators transactionally safe
Permit TWeakRef instances to be created with a value of None