topic: fix compatibility issues caused because of change in transaction API
In 36f08ae87ef687be53a59bd87376bcfbe4479205 in core mercurial, _validator
attribute to transaction class was removed and a dict was introduced. It added a
addvalidator()
function to transaction class which can be used to register
multiple validator callbacks.
This updates the code to use addvalidator()
when _validator
attribute is not
present.