evolve: improve transaction related code to use the lock module
Refactored some of the places where we are using locking in evolve to use
the lock module and write less code.
This should also fix a couple of bug where tr could be None at release time.
This software was downloaded from
https://bitbucket.org/marmoute/mutable-history
Copyright 2011 Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
Logilab SA <contact@logilab.fr>
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
Patrick Mezard <patrick@mezard.eu>
This software may be used and distributed according to the terms of the GNU
General Public License version 2 or any later version.
On Debian systems, the complete text of the GNU General Public License version
2 can be found in `/usr/share/common-licenses/GPL-2'.