magit-section-goto-successor: new function

Split `magit-section-goto-successor' from `magit-refresh-buffer' and
rename `magit-refresh-buffer-1' to `magit-section-goto-successor-1'.
magit-refresh-buffer: do nothing if magit-refresh-function is nil

This is done to avoids unnecessary work.  But it also prevents
`magit-refresh-buffer-hook' from running, which might be a problem for
third-party code which for some reason expects this to run even if the
buffer was not actually refreshed.  If this turns out to be the case
then we could change back to always run that hook.