introduce commit filed for GPG signature

bind to C-c C-S by default.

Note that using "git -S" from Emacs might require writing a gpg wrapper
and setting git config gpg.program, as there is no control over the gpg
options that are used.
refactor magit-wash-log-line

split the parsing logic for easier extensibility
add ability to display gpg status
Unifies the naming of magit buffers

Adds a space between 'magit-key:' and the name of the command.
This is more consistent with the way the status buffers are named.
New command magit-run-git-gui-blame
Configurable magit-get-top-dir starting point symlink expansion

By disabling expansion, one can restore the behaviour before commit
449bebe7571bd4dc0fda4abcaffc5563d1dbe60c, which according to Alex was added
to handle cases where one has symlinks from outside of a repository to inside
of a repository and uses magit-status with a path that contains such a
symlink.
Don't refresh dead buffers
Pass --cleanup=strip to `git commit'
Don't duplicate commit messages when applying commits

Either commit 9a09235a0781715461ac4cf0c3eba38e84fda15a didn't consider
that also magit-apply-commit appended commit or revert message into the
log edit buffer or perhaps cherry-pick and revert with --no-commit didn't
leave .git/MERGE_MSG behind with older git versions?  Either way, relying
solely on .git/MERGE_MSG seems like the way to go; not only we avoid
message duplicates but while log edit buffer is lost if
magit-log-edit-cancel-log-message is used or Emacs is restarted, for
example, .git/MERGE_MSG stays.
Prevent Cygwin dll from expanding wildcards when git is not run via shell.
magit-commit-for-autosquash: new command