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'
update maintainer information

With the approval of Yann, Rémi, and Nicolas I am changing the
information about who currently maintains Magit.  Previous they
and I were listed as maintainers, now only I am.
Merge branch 'pr/maint'
encourage users to contribute by gittipping
Merge branch 'pr/gittip'
rename gittip team from magitians to just magit
magit-run-git{,-with-input}: use unwind-protect

to make sure `magit-refresh' is run when git returns non-zero.
README.md: fix gittip link
let Emacs adjust point

Previously we did adjust point ourselves, because "Emacs often leaves
point in invisible regions, it seems."  However we did not actually
succeed in doing so because `disable-point-adjustment' is only set to
nil when a Magit mode is turned on, not for each and every command that
could possibly be run in a Magit buffer.  But that variable's doc-string
reveals that this doesn't have the desired effect:

  After a command is executed, if point is moved into a region that has
  special properties (e.g. composition, display), we adjust point to the
  boundary of the region.  But, when a command sets this variable to
  non-nil, we suppress the point adjustment.

  This variable is set to nil before reading a command, and is checked
  just after executing the command.

So I am removing our code that does the same, doing so does indeed not
change the behavior.
Merge branch 'pr/native'
Revert "let Emacs adjust point"

This reverts commit 662e2ebcc2c2b0577e6f6d67aa1b9583fcf3e566.
AUTHORS.md: update list of contributors
magit-git-command: use magit-run-git-async

In `magit-git-command' use `magit-run-git-async' instead of the more
low-level `magit-run-git*'.

The latter should only be used in special cases, and should otherwise be
avoided.  Now that we use the correct function the message "Running git
<...>" is displayed in the echo area.  Since the *magit-process* buffer
is also shown that isn't really necessary, but it also does no harm.
magit-init: use magit-run-git

In `magit-init' use `magit-run-git' instead of the more low-level
`magit-run-git*'.

The latter should only be used in special cases, and should otherwise be
avoided.  Creating a repository now results in a refresh which is rather
pointless and has no effect because there cannot be any buffers to
refresh yet.  On the other hand checking whether anything has to be
refreshed also isn't costly enough to actively avoid it in this case.
The benefit is that I will not once more have to think about whether
there actually a reason `magit-run-git*' is used :-)
magit-process-set-mode-line: rename from magit-set-mode-line-process
magit-process-unset-mode-line: new function