`magit-process-keep-history': optionally don't clear the process buffer

Most calls to `magit-run*' don't set its NOERASE arg to a non-nil value,
so the process buffer is cleared pretty much every time we run a command
that makes use of `magit-run*'.

However, sometimes it's useful to be able to refer back to the log
of recent Git commands (and their output), e.g. when cleaning up stale
remote-tracking branches after having fetched with the "--prune" flag.

Now we can prevent the process buffer from ever being cleared by setting
`magit-process-keep-history' to a non-nil value. To improve readability,
individual command invocations will be delimited with an empty line.

Signed-off-by: Pieter Praet <pieter@praet.org>
magit-file-log: remove unused optional ALL argument

With a prefix argument the ALL argument was set to the value of
`current-prefix-arg'.  But it wasn't used anywhere in the function
body so it was effectively unused.  Remove the ALL argument and
ignore the prefix argument.
magit-file-log: read the file inside interactive
magit-file-log: require confirmation to use default file

Previously, when `magit-file-log' was invoked from a file-visiting
buffer, a prefix argument had to be used to select another file.  Now
the current file is merely the default, which the user can confirm by
simply pressing RET.  This is good for two reasons: it is similar to
how other commands (e.g. `kill-buffer') handle this, and the behavior
no longer depends on what kind of buffer is current when the command
is invoked.
magit-refresh-log-buffer: change argument order

Change the order of arguments to `magit-refresh-log-buffer' so that the
argument for the washer isn't located in between arguments to `git log'.
magit-refresh-log-buffer: add optional FILE argument

Add the optional FILE argument, set buffer-local `magit-file-log-file'
accordingly, extend the heading handling to deal with non-nil FILE, and
pass the non-nil FILE to `git log'.
magit-file-log: use magit-refresh-log-buffer

In `magit-file-log' use the generic `magit-refresh-log-buffer'
(and pass it `magit-custom-options'), instead of the inferior
`magit-refresh-file-log-buffer'.  The latter was an incomplete
reimplementation of the former "specialized" for "file logs".
In the previous commit we taught the latter the FILE argument;
nothing else was necessary to make it suitable for "file logs".
magit-file-log: with a prefix argument pass --graph to `git log'

Even before this commit showing the graph was possible but only when it
was invoked from the logging popup.  Now this is also possible when the
command is directly invoked.
Merge branch 'file-log-v4'

Conflicts:
	magit.el
Merge branch 'praet/process-keep-hist'

Conflicts:
	magit.el