make use of auto-revert-mode
magit-section-action: don't use magit-with-section

Stop wrapping the body with `magit-with-section' when expanding
the `magit-section-action' macro.

Previously this macro already had an argument that allowed not
using `magit-with-section'.  Closer inspection revealed that using
the latter is actually never necessary anymore.
magit-rewrite-set-commit-property: use magit-refresh

In `magit-rewrite-set-commit-property' use `magit-refresh' instead
of `magit-need-refresh'.  That isn't exactly equivalent, but will
do until the former is removed too in the very next commits.
make refresh more explicit

Remove the macro `magit-with-refresh' and the function
`magit-refresh-wrapper' which was used to implement it.

This macro was used to setup a dynamic scope in which a only a single
refresh could happen.  But it turned out that this is not actually
useful and only makes it harder to understand what "refreshing" means.
While that wasn't always the case there now is not a single case where
the use of `magit-with-refresh' actually prevented a second refresh.

Also remove the variables `magit-refresh-needing-buffers' and
`magit-refresh-pending', which were the variables that were dynamically
bound by `magit-refresh-wrapper'.

Also remove the function `magit-need-refresh' which was used to mark a
buffer as needing to be refreshed inside a call to `magit-with-refresh',
by adding it to `magit-refresh-needing-buffers'.

The only function kept are `magit-refresh', and a variation of that
`magit-refresh-all' only intended for interactive use.

The functions `magit-run-git', `magit-run-git-with-input',
`magit-run-stgit', `magit-run-topgit', and (on behalf of
`magit-run-git-async') `magit-process-sentinel', now call
`magit-refresh' explicitly after git has returned.

The "process" functions (some of them) are the only generic functions
that call `magit-refresh'.  Everywhere else `magit-refresh' has to be
called explicitly.  That's a good thing it encourages more fine tuned
refreshing.
Merge branch 'pr/autorevert'