[transaction] initialize transaction data and state related attribute.
There is not reason to not explicitly declare and initialize attribute in
Transaction.__init__. This change requires the introduction of a
Transaction.clear() method to get ride of some wicked ``AttributeError`` based
logic.
\.svn
^build$
^dist$
\.pyc$
\.pyo$
\.bak$
\.old$
\~$
\#.*?\#$
\.swp$
^doc/book/en/apidoc$
\.old$
syntax: regexp
.*/data/database/.*\.sqlite
.*/data/database/.*\.config
.*/data/database/tmpdb.*
.*/data/ldapdb/.*
^doc/html/
^doc/doctrees/
^doc/book/en/devweb/js_api/