add support for using unicode characters when drawing log graphs

Add new function `magit-log-format-unicode-graph' and add it as a
choice in option `magit-log-format-graph-function'.  Also add new
option `magit-log-format-unicode-graph-alist' allowing users to
choose the characters (unicode or not, actually) to be used.
Transition machinery for magit-insert-pending-changes

If users have customized their `magit-status-sections-hook' then it can
be confusing when they update magit and suddenly start getting error
messages due to `magit-insert-pending-changes' not being defined
anymore. Define a an obsolete function alias to a shim function that
displays a message to the user about what's going on.

See also: 382351845eca2425713f640f9bb55756c9ddf723
Don't try to run magit-rewrite-diff-pending from magit-status-sections-hook

In [9a4e236: "Transition machinery for magit-insert-pending-changes"] an
obsolete function alias and "transition" function were introduced to
help users that may have customized `magit-status-sections-hook' to know
that `magit-rewrite-diff-pending' no longer exists. However, it really
never makes sense to run `magit-rewrite-diff-pending' from
`magit-status-sections-hook' and in some configurations the actual
"help" message is hidden by the error from
magit-rewrite-diff-pending. Fix this unnecessary confusion by *not*
running `magit-rewrite-diff-pending' from the shim function.
stub test for magit-get-next-tag

Signed-off-by: Loic Dachary <loic@dachary.org>
magit-show: bugfix

`magit-diff-range' returns a cons cell of atoms.
magit-key-mode-popup-logging: support --no-merges option
magit-revert-buffer-hook: run in magit-revert-buffers
magit-process-quote-arguments: flatten list of arguments
* magit-key-mode.el (magit-key-mode-add-group): add missing arguments
  list when creating new group.
magit.text: mentioned that staging only works from status buffer
Package-Requires: add emacs-23.2
magit-process-setup: never collapse the section

Despite the face being used, too many users fail to realize that the
lines in the process buffer are sections and thus never try to show
the output by pressing TAB.

On the `next' branch this is being countered by creating all sections
expanded and only collapsing a section once the command returned
successfully, see 160ed937ff28bcf0c9fc84763376e7c88f3d836a.  That hasn't
made it to `master' yet, where we are doing something less reasonable.
So for now change `magit-process-setup' to never automatically collapse
a section.
.travis.yml: update dependency urls
magit-read-gpg-secret-key: properly use history variable
Revert "Package-Requires: add emacs-23.2"

This reverts commit 3f2f81b347bff884ad4759ed4c8b12c204ce75e0.

No version of `package.el' which works with Emacs 23.x
understands the "emacs" virtual package.  See issue #1369.
magit-read-gpg-secret-key: don't require match

Let the user exit with any input.  This allows selecting a subkey,
even though we don't offer such keys for completion.
magit-diff-highlight-whitespace: use lazy match
Lazy match should be used to find trailing spaces.
magit-git-executable: except on windows, use just the name

Since f0186c88732e543d9487082405685fa0a2688b70 `magit-git-executable'
was set to the full path to the executable, which becomes problematic
when connecting to a remote repository using Tramp and the executable
is not installed in the identical location on that system.

On Windows keep using the full path, because here multiple "git.***"
are installed and it makes a big difference which is used.  I would
much rather have a handful of Windows users report that they cannot
use Magit remotely than to have many more users complain that "Magit
is nice, but soooooooo slow on Windows".

We could use different variable for local and tramp Git, I suppose.
But the proper way of testing that is `file-remote-p', and that is
to expensive to run over and over again.  And I don't like caching.
deal with yet another way Emacs can be installed on OS X