Integrate git-commit-mode into Magit

There have been previous failed attempts.  This time, I rolled up my sleeves and finally did it for good.

[11/11] is most interesting, as it fixes the big problem: the magit header interfering with the regexp matcher in git-commit-mode.

As you can see from some of the other patches, there is plenty of opportunity to beat commit-mode.el into shape.  So start hammering away!

Thanks.