general purpose mercurial hook configured by yaml