[session/transaction] move most undo support into transaction
A small part that need repo access has not been moved into transaction yet.
# -*- coding: utf-8 -*-# copyright %(year)s %(author)s, all rights reserved.# contact %(author-web-site)s -- mailto:%(author-email)s#%(long-license)s"""%(distname)s specific hooks and operations"""