Revert "Merge branch 'mt/patch-id-stable' into next"

This reverts commit 0188d44bb409916a5e96cf6d7160e9e9ed064cc5,
reversing changes made to 6b74773678cb408b7edb236752e514fa00488637,
to replace it with a new round to be cooked in 'next' for the
remainder of this cycle.
git-merge: Honor pre-merge hook

git-merge does not honor the pre-commit hook when doing automatic merge
commits, and for compatibility reasons this is going to stay.

Introduce a pre-merge hook which is called for an automatic merge commit
just like pre-commit is called for a non-automatic merge commit (or any
other commit).
merge: --no-verify to bypass pre-merge hook

Analogous to commit, introduce a '--no-verify' option which bypasses the
pre-merge hook. The shorthand '-n' is taken by the (non-existing)
'--no-stat' already.
t7503: add tests for pre-merge-hook

Add tests which make sure that the pre-merge-hook is called when
present, allows/disallows merge commits depending on its return value
and is suppressed by "--no-verify".