Documentation: revamp git-cherry(1)

git-cherry(1)'s "description" section has never really managed to
explain to me what the command does.  It contains too much explanation
of the algorithm instead of simply saying what goals it achieves, and
too much terminology that we otherwise do not use (fork-point instead
of merge-base).

Try a much more concise approach: state what it finds out, why this is
neat, and how the output is formatted, in a few short paragraphs.  In
return, provide much longer examples of how it fits into a
format-patch/am based workflow, and how it compares to reading the
same from git-log.

Also carefully avoid using "merge" in a context where it does not mean
something that comes from git-merge(1).  Instead, say "apply" in an
attempt to further link to patch workflow concepts.

While there, also omit the language about _which_ upstream branch we
treat as the default.  I literally just learned that we support having
several, so let's not confuse new users here, especially considering
that git-config(1) does _not_ document this.

Prompted-by: a.huemer@commend.com on #git
Signed-off-by: Thomas Rast <tr@thomasrast.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
fixup! Documentation: revamp git-cherry(1)
Merge branch 'tr/doc-git-cherry' into pu

* tr/doc-git-cherry:
  fixup! Documentation: revamp git-cherry(1)
  Documentation: revamp git-cherry(1)
git p4: Use git diff-tree instead of format-patch

The output of git format-patch can vary with user preferences. In
particular setting diff.noprefix will break the "git apply" that
is done as part of "git p4 submit".

Acked-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Crestez Dan Leonard <cdleonard@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Merge branch 'cl/p4-use-diff-tree' into pu

* cl/p4-use-diff-tree:
  git p4: Use git diff-tree instead of format-patch