cmdutil: introduce 'editform' to distinguish the purpose of commit text editing
This information will be used to switch '[committemplate] changeset'
definition according to its purpose in the subsequent patch.
This information also makes it easier to hook commit text editing only
in the specific cases.
Testing that hghave does not crash when checking features
$ "$TESTDIR/hghave" --test-features 2>/dev/null