magit-diff-visit-file-worktree: new command

Jump to the file at point attempting (and usually failing) to also jump
to the correct line.  This is what plain `magit-diff-visit-file' used
to do until a while ago; now that jumps to the correct location in the
correct revision, but sometimes that's not what we want.

Bind C-return to the new command, so `magit-dired-jump' has to move to
M-return.
magit-blame: remove unnecessary code
magit-blame: use window-{start,end} for range

Subtract 1 from `window-end' because there is disagreement
between Emacs and Git on how long the file is.
magit-blame{,-process-sentinel}: make file buffer current
magit-diff-wash-diff: detect more submodule states
magit-insert-tags: only if there are tags

otherwise no longer insert an empty section.
magit-jump-to-stashes: use value "refs/stash"

magit-define-section-jumper: add value arg
magit-mode-map: Add backslash for M-{n,p} binding
magit-insert-stash-message: new function
magit-insert-tags: including their messages

For annotated tags show the first line of the tag message,
for non-annotated tags show the commit summary instead.
Merge pull request #1632 from npostavs/meta-n-p

magit-mode-map: Add backslash for M-{n,p} binding
Merge pull request #1631 from npostavs/jump-stash-val

magit-jump-to-stashes: use value "refs/stash"
make *-at-point functions use first child

This allows merge on "Unpulled commits" to do the Right Thing.
magit-push-current: Push new branches to remote

Rather than remote branch. This reduces possible options and makes it
easier to use.