compat: fix obslog with Mercurial 4.6+
Mercurial core 3fe1c9263024 removed the diffopts attribute on
changesetprinter. Backport consuming diffopts in the constructor for old
versions of changesetprinter and update the non-graph code to extract the
patch option and pass it directly.
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/