`magit--refresh-cherry-buffer': correct in-buffer documentation

The way it was worded could potentially lead people to delete branches
even though they still contained changes which should be preserved.

From the git-cherry(1) man page:
  #+begin_quote
    Every commit that doesn’t exist in the <upstream> branch has its id
    (sha1) reported, prefixed by a symbol. The ones that have equivalent
    change already in the <upstream> branch are prefixed with a minus (-)
    sign, and those that only exist in the <head> branch are prefixed with
    a plus (+) symbol.
  #+end_quote

Signed-off-by: Pieter Praet <pieter@praet.org>
`magit-cherry': pop to `magit--cherry-buffer-name' *after* reading args

Allows us to back out of a `magit-cherry' invocation without having to
do manual cleanup.  Ideal when the summer heat interferes with your fine
motor skills.

Signed-off-by: Pieter Praet <pieter@praet.org>
`magit-rebase-info': update docstring

Since commit 59f46ec3, `magit-rebase-info's output list contains a
fourth element, being the SHA-1 of the commit git-rebase(1) stopped at.

Signed-off-by: Pieter Praet <pieter@praet.org>
`magit-rebase-info': s/file-exists-p/file-{directory,regular}-p/

Replace `file-exists-p' with `file-{directory,regular}-p' to ensure:
- ".git/rebase-merge" is a (symlink to a) directory.
- ".git/rebase-apply/onto" is a (symlink to a) file.

Signed-off-by: Pieter Praet <pieter@praet.org>
`magit-file-line{,s}': add docstring

Signed-off-by: Pieter Praet <pieter@praet.org>
`magit-file-line{,s}': s/file-exists-p/file-regular-p/

Replace `file-exists-p' with `file-regular-p' to ensure we're actually
reading from a (symlink to a) file instead of potentially blowing up
with an IO error.

Signed-off-by: Pieter Praet <pieter@praet.org>
`magit-delete-branch': fail gracefully if branch = current = master

I know, people shouldn't be deleting the master branch, but that doesn't
mean we should offer to switch to it when we're already on it...

Signed-off-by: Pieter Praet <pieter@praet.org>
`magit-read-file-from-rev': run git-ls-tree(1) recursively on correct rev

Since commit c4b0ad21, `magit-read-file-from-rev' erroneously offered
completion for the files available in HEAD instead of in the supplied
revision (fixed in commit bcce594d).  Also, we were unable to select
files in subfolders due to the removal of the "-r"ecursive option to
git-ls-tree(1).

Conflicts:
	magit.el

Signed-off-by: Pieter Praet <pieter@praet.org>
`magit-highlight-line-whitespace': set ":from-end" to t

`magit-highlight-indentation' states that the *last* matching item
in the list should apply, so let's set the ":from-end" argument to t.

Signed-off-by: Pieter Praet <pieter@praet.org>
`magit-goto-diffstats': don't report "No diffstats section found" if we did

Commit dbb3e611 cleaned up a bunch of conditionals, but made one change
too many in `magit-goto-diffstats', causing it to report "No diffstats
section found" even when it *did* find one.

Signed-off-by: Pieter Praet <pieter@praet.org>
`magit-file-lines': don't `nreverse' twice to trim a trailing newline

Instead of `nreverse'ing twice (a rather expensive operation) to trim a
measly trailing newline, use `split-string's OMIT-NULLS argument to
remove *all* zero-length lines (or none...).

Signed-off-by: Pieter Praet <pieter@praet.org>
`magit-rebase-info': use `magit-file-line{,s}' instead of `with-temp-buffer'

Don't Repeat Yourself (TM)

Signed-off-by: Pieter Praet <pieter@praet.org>
`magit{,-status}-mode-map': move `magit-cherry' keybind

Move `magit-cherry' keybind from `magit-status-mode-map'
to `magit-mode-map', so we don't have to manually execute
`magit-cherry' when not in the status buffer.

Signed-off-by: Pieter Praet <pieter@praet.org>
Merge branch 'praet/bugfixes'
Merge branch 'praet/file-lines'
Merge branch 'praet/rebase-info'
Merge branch 'praet/cherry'