TransactionalDictionary: rework transactional dictionary (again)
TransactionalDictionary: rework transactional dictionary (again)

Take transaction structure from transactional set.
Keep added/removed 'patch' collections instead of 'always create new map and then calculate diff'.
Use transaction enumeration helpers shared with transactional set.

GSGroup/stingraykit,GSGroup/stingraykit