magit-diff-toggle-refine-hunk: follow rename

When cherry-picking renaming `magit-toggle-diff-refine-hunk'
to `magit-diff-toggle-refine-hunk' accidentally went through.

So we complete this now by also changing the binding in
`magit-mode-map'.
magit-git-command-topdir: fix #1190

Add new utility function `magit-git-command-read-args' instead
of attempting to play tricks with prefix arguments.  Also improve
doc-strings of `magit-git-command' and `magit-git-command-topdir'.
magit-pull: don't be verbose

Close #1176.  There's really no point in being verbose; users usually
don't see the output anyway and those who do would be overwhelmed by
the verbosity if there are more than a few branches.  The only lose I
can see is that the output no longer contains any information about
from where we didn't pull anything.
magit-apply-mailbox: only refresh once

To not refresh right after starting the asynchronous process.
Instead rely on the sentinel of that process to do so when the
time has come.
magit-refresh-all: always do it synchronously
magit-refresh: allow doing it synchronously
synchronously refresh files after running git

Refresh file visiting buffers synchronously after running Git using
one of `magit-run-git' and `magit-run-git-async', and their variants.
Merge branch 'sync-refresh'
abbreviate hash for cherry logs

Unlike for real logs we don't specify a format for cherry logs which
contains "%h".  So we have to tell git to abbreviate the hashes using
`--abbrev'.  (When `--abbrev=<N>` was removed only the `<N>` should
have been removed.)  Close #1191.
magit-wash-log-line: use dedicated faces for all signature states

Add the new faces `magit-signature-{good,bad,untrusted,none}' and
use them in `magit-wash-log-line' to colorize the commit summaries
based on the signature state (when `magit-log-show-gpg-status' is
non-nil).
magit.el: fix section nesting
magit.el: remove unnecessary nesting
magit-git-success: move definition
magit-git-failure: new function
Revert "`magit-ref-ambiguous-p': use `magit-git-success'"

This reverts commit bd45d184e6553686abbdd6ecc9c5a17b311a232c.
magit-ref-ambiguous-p: improve comment

... so that the code doesn't get "fixed" again.
magit-git-{exit-code,string,insert,lines}: flatten ARGS

Flatten the first level of ARGS, the arguments for git.
We already do the same for `magit-{run,call}git' and
the section insert macros.
Add a space between the cherry mark and the sha1

The output of `git cherry' looks like this:

    + cf1464f7b9 iommu: msm: always use 32-bit physical addresses
    + eea2a9eaa1 iommu: msm: simplify address discovery in secure register dump code
    + 5a9311887b iommu: msm: create some helper macros for generating register addresses
    + ac26cf1da3 iommu: msm: remove unused field from struct dump_regs_tbl_entry
    + b6cc994641 iommu: msm: dump some global registers on page faults

but in magit the `+' is currently squished up against the sha1:

    +b6cc994641 iommu: msm: dump some global registers on page faults
    +ac26cf1da3 iommu: msm: remove unused field from struct dump_regs_tbl_entry
    +5a9311887b iommu: msm: create some helper macros for generating register addresses
    +eea2a9eaa1 iommu: msm: simplify address discovery in secure register dump code
    +cf1464f7b9 iommu: msm: always use 32-bit physical addresses

This is inconsistent with the expected `git cherry' UI. It also causes
minor problems for people using custom commands that operate on a sha1
with `word-at-point' or similar since you also get the `+' with the
sha1.

Fix this by adding a space.
Use the correct face for cherry marks

Currently, the `magit-cherry-equivalent' and `magit-cherry-unmatched'
faces are applied incorrectly to the opposite case in
`magit-wash-log-line'. Fix this by swapping them.
Normalize sha1 length for commands that don't respect core.abbrev

Some commands (like `git cherry') don't respect core.abbrev. Fix this by
explicitly passing --abbrev=N (where N=core.abbrev when set).

Adapted-by: Jonas Bernoulli <jonas@bernoul.li>

Rename new utility functions and move their definitions.