context: move dirty() to committablectx
This is a pedantic move. It should be an error if dirty() is called on a
read-only context. Based on Mads Kiilerix's and my work at the sprint.
#require docutils gettext $ $TESTDIR/check-gendoc zh_CN checking for parse errors