add function magit-format-tracked-line

Create new function `magit-format-tracked-line' from that part of
`magit-insert-status-remote-line' that can be reused by the (yet to be
written) remote-line inserter for "cherry".
merge magit-wash-color-log into magit-wash-log

Yes this is doing "the opposite" of the previous commit which did break
an existing function into two.  Here the story is different though: the
optional functionality from the function being merged into the other can
easily be toggled on/off using an argument.
magit-refresh-wazzup-buffer: set log style

In `magit-refresh-wazzup-buffer' call `magit-wash-log' with its STYLE
argument explicitly set to `oneline', just like everywhere else.

`magit-wash-log' make STYLE mandatory.
`magit-parse-log-line' remove kludge for STYLE being undefined.
teach magit-parse-log-line about unpushed/unpulled logs

Extend `magit-parse-log-line' to support the log style used to display
unpushed and unpulled logs.  The words used to describe the list of
unpushed and unpulled logs hide the fact that these are essentially
ranged logs

Now that we have noticed the `magit-wash-unpushed-or-unpushed' function
which essentially duplicates `magit-wash-log' can be removed, hurray.
cleanup magit-present-log-line
remove variable magit-present-log-line-function

Remove variable `magit-present-log-line-function'.  If the need to allow
use of another function than `magit-present-log-line' should arise we
can always add it back.  As of now we have no need for that.  Also the
doc-string was way off.
rename magit-{present => format}-log-line

Rename function `magit-present-log-line' to `magit-format-log-line'.
"Format" is the term we are already using everywhere else for this
kinda thing.
move `magit-ref-get-label-color' into new "Reference Labels" section

Move the `magit-ref-get-label-color' function and all support functions
and variables into the new "Reference Labels" subsection of "Revision
and Ranges" (which is also, or mainly about References, but that's a
different story).

The support symbol names of support functions and variables sport the
"log" substring and indeed the functionality provided by the moved code
is *currently* only used for logs.  However "colorizing a reference
according to its type" is also needed elsewhere.  Currently these other
places use different less flexible implementations, but that should be
changed.  So move as a first step toward using this (or rather a
generalized variant thereof) move it to a "common" place.

Also move the `magit-log-format-reflog' into the "Reflog Mode" section;
*not* to the same place as `magit-ref-get-label-color'!  These functions
do something similar and are both used by `magit-format-log-line' but
they actually are quiet different.

`magit-log-format-reflog' is about colorizing the "actions" in reflogs,
not about doing that to references, so it does not belong near code that
deals with references.  It could be left were it was previously defined,
since that is also where the only call to it is located (inside
`magit-format-log-line').  However because it is strictly only related
to reflogs the respective section is the perfect place.
Merge branch 'cleanup'
rename magit-log-{unpushed-or-unpulled-commit => log-unique}-re

Rename `magit-unpushed-or-unpulled-commit-re' to `magit-log-unique-re',
move it and generally make it more like the other `magit-log-{*}-re'
variables.
remove variable magit-reflog-format

Remove variable `magit-reflog-format'.  Instead hardcode its value in
the only caller.  This ain't the only git argument we use; why have a
dedicated variable for this one, which also should never be changed on
its own?
make variable magit-log-format constant

Make variable `magit-log-format' constant.  Unlike the
`magit-reflog-format' variable removed in the previous commit
it is actually used multiple times, so even though it likely
will never change we keep the name stuck onto this git argument.

Because it is a boring detail, move it to the bottom of its
section were only truly curious readers will see it.
make variable magit-reflog-subject-re constant
move definition of magit-log-cutoff-length-arg

Move the definition of the function `magit-log-cutoff-length-arg'.
Since it has variable-like characteristics keep it in the "variable"
section but move it to the end its.  This way only the curious reader
will see it - starting out a "variable" section with a function is a
bit ... confusing.

Also this (and variable `magit-log-format') do not /really/ belong in
this section at all.  But I cannot find a better place to stick them
at them moment.  Another reason to move them out of sight.
move definition of magit-create-log-buffer-sections

Move the definition of the macro `magit-create-log-buffer-sections' from
the "Log" section to the "Section Creation" section.  Both places make
sense, but I prefer the new one because now all the functions and macros
used to create sections are in one place.  Also moving this macro means
that the "Log" section now only contains things /directly/ related to
washing.

Also move the definition variable `magit-log-count', as it is set by the
macro.

Lose the doc-strings, they are not good.
move "Log Author/Date Overlays" to end of "Log" section

While this section was previously located right below
`magit-format-log-line' which calls one of the overlay functions,
there are also other callers located some completely different.

And more importantly keeping the overlay functions where they used to be
would completely destroy the flow of the "Log" section, which is now
otherwise restored (after other misplaced stuff has been moved away).

Unfortunately git's diff algorithm decided that "washing" not the
"overlay" code was moved, that is one of the drawbacks of using a
"stupid content tracker" :-)
rename "Logs" to "Log Washing" and use proper headings for subsections

Hurray!
move "file log" code where it belongs

Previously definitions implementing the /file log/ specific parts of
/log/ were bundled together in the "File Log" subsection of "Acting".

Move command`magit-file-log' (and support variable `magit-file-log-file'
and useless command `magit-single-file') into "Acting > Logging".  All
other such commands were already located there, including the "reflog"
commands.

Move function `magit-refresh-file-log-buffer' into the "Log Mode"
section where the respective refresher for "regular" log is already
located; they both use the same mode.  (There is some cleanup needed
in this area).

Move `magit-show-file-revision' near `magit-show'.  These functions
should be merged.  Also they have next to nothing to do with "file log".
merge magit-file-log and magit-single-file-log

Define command `magit-file-log' using `magit-define-command' and remove
useless `magit-single-file-log'.  All that `magit-single-file-log' did
was call `magit-file-log' (and feature a unused argument, probably for
"consistency").  I wonder how these things came to be.
magit-read-file-from-rev: add optional DEFAULT argument