Makefile: cleanup whitespace
magit-diff-wash-tag: new function

The command `magit-show-commit' can now show tags too, previously
it showed information about "TAG^{commit}" instead of "TAG".  This
is implemented in the new function `magit-diff-wash-tag' which is
called from `magit-diff-wash-revision'.
magit-revision-insert-related-refs: truncate number of branches
rename magit-list-contain{ed => ing}-branches
magit-read-remote-branch: optionally offer more choices

When the new LOCAL-BRANCH argument is non-nil also offer
"REMOTE/LOCAL-BRANCH" as a completion choice.  If REMOTE
is nil, do so for every remote.
with-editor-export-editor: new command

Add new command `with-editor-export-editor' which allows setting
the editor for subsequent commands in `shell-mode', `term-mode'
and `eshell-mode' buffers.

Also add the variants `with-editor-export-git-editor' and
`with-editor-export-hg-editor'.

Also add the utility functions `with-editor-emulate-terminal'
and `with-editor-read-envvar'.

This commit is a joint effort between Philippe Vaucher and me.
with-editor-async-shell-command: new command

Add new commands `with-editor-async-shell-command' and
`with-editor-shell-command', as well as `shell-command-with-editor-mode'
which makes regular `async-shell-command' and `shell-command' similarly.

Add utility function `with-editor-shell-command-read-args' and advice
`shell-command'.
Merge branch 'n/shell-with-editor' into next