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.
syntax: re
/figures/[^/]+\.png$
^html/
\.pyc$
~$
\.swp$
\.orig$
\.rej$
^tests/.*\.err$
^tests/easy_run.sh$
^build/
^dist/
^MANIFEST$
^docs/tutorials/.*\.rst$
\.ico$
tests/\.testtimes
^docs/training/graphs/
^docs/training/html/
^docs/training/index.html
^docs/training/graphviz-images/
^docs/training/img/
^docs/training/output/
^docs/training/pandocfilters/