magit-save-buffers-predicate-tree-only: bugfix

This function might end up being called outside a repository (because it
is used carelessly, see next branch for a better approach) so we have to
make sure it does not try anything stupid in that case.  Fixes #1499.
Merge branch 'master' into next

Conflicts:
	magit.el

Merge fix to code with no longer exist on 'next',
i.e. drop their side
magit-section-goto-successsor-1: bugfix

Fixes #1477.
magit-refresh-goto-char: new function

Add new function `magit-goto-char' intended to be used during
refreshes only, and use it in `magit-section-goto-successor'
and `magit-rebase-process-sentinel'.

This is a reactionary change reverting the separation of church and
state, I mean `point' and `window-point'.  This is necessary because
a refresh always affects the status buffer even if it is not current.

What we are doing here is the simplest fix for the issue this is
causing; there are other, more complicated approaches possible.
magit-process-finish: bind message search correctly

Limit the search for the error message to the section of the current
section, as intended.  Fixes #1498.
Merge branch 'master' into next

Conflicts:
	magit.el
define string-prefix-p for older Emacsen

Fixes #1500.
magit-rebase-process-sentinel: goto second instance of stopped commit
magit-insert-rebase-sequence: mark removed stop commit as such