magit-add-section-hook: new function

Add hook-manipulation function `magit-add-section-hook'.  It differs
from other such functions in that it allows inserting a new function
before or after an existing member of the hook list.

The intended use of this function are "buffer section hooks".  All
"buffer refreshers" have been using a hook to insert sections, for a
while now.  These hooks work great for user customization, but until
now modes that that need to insert additional sections (and that only
for some repositories) the old hook implementation still had to be
used.

This commit completes the new implementation the missing piece, the
specialize `add-hook' function.  The next commit will start using that
in all minor modes.  And the one after that will remove the old one.
magit-svn-mode: use magit-add-section-hook
magit-stgit-mode: use magit-add-section-hook
magit-topgit-mode: use magit-add-section-hook
magit-define-inserter: remove macro

Remove the macro `magit-define-inserter' which, until two commits ago,
had to be used to create functions that insert sections.  It now isn't
necessary anymore that each such function runs two hooks.
Merge branch 'pr/section-hooks'