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.
test-drop.t
test-inhibit.t
test-simple4server.t
tests/test-simple4server-bundle2.t