improve how a section is selected during buffer refresh

Do not attempt to restore `window-start' and do not fallback to
restoring `point' in case no successor section can be found.

Instead handle a few special cases (mostly related to un-/staging)
explicitly.  And if everything else fails then simply go to the
beginning of the buffer (which, while not perfect, is a better
fallback than the old "scroll everything off screen" :-).

In other words, don't try to be smart, just get the work done.

Rename `magit-mode-refresh-buffer' to `magit-refresh-buffer', and
`magit-mode-refresh-buffer-hook'to `magit-refresh-buffer-hook'.
This reverts earlier renames...  Define an obsolete variable alias,
maybe that way nobody notices :-)
Merge branch 'n/refresh-refresh' into next