move hacks inside section "Branch Manager Mode" to its end

Inside the section "Branch Manager Mode" move a group of utilities to
the end of the section.  These utilities are only used in this section
and have two problems, they are not quiet sufficient and they should
be generalized so that they can also be used elsewhere.
split magit-wash-branch-line-re from magit-wash-branch-line

Extract the regular expression previously embedded inside the
function `magit-wash-branch-line' and store it in a constant
`magit-wash-branch-line-re' (like we do for other such regexps).
magit-wash-branch-line-re: cleanup
magit-wash-remote-branches-group: fix whitespace
magit-change-what-branch-tracks: use a simpler prompt
magit-change-what-branch-tracks: sorter names for internal variables
magit-change-what-branch-tracks: lose unnecessary test

Do not test for the empty string being returned by `magit-read-rev'.
If the user makes no selection that function does no longer return
the empty string but raises an error.
magit-change-what-branch-tracks: lose comments

Loose the comments inside `magit-change-what-branch-tracks'.
They would have served better as the commit message.
magit-change-what-branch-tracks: simplify by using fewer variables
magit-wash-branch-line: rename internal variable

In `magit-wash-branch-line' rename internal variable `current-string'
to `marker'.
magit-wash-branch-line: add internal variable branch-face

In `magit-wash-branch-line' add a new internal variable `branch-face'.
This allows checking only once whether the current line is about the
checked out branch.
magit-wash-branch-line: mark checked out branch with "*"

In the branch manager mark the current branch with "*", just like Git
does.  Previously "#" was used.
magit-wash-branch-line: use insert instead of insert-before-markers

When this function is called there exist no markers that need to be
moved forward.
magit-wash-branch-line: use name variable when appropriate
magit-wash-branch-line: cleanup by using insert more than once

Previously there was one call to `insert`.  Unlike `concat' that does
not treat `nil' like an empty string leading to a lot of unnecessary
THEN clauses that consisted of the explicit empty string, which blew
up the code quiet a bit.  It also made it quiet unreadable making
comments necessary; now we don't need them anymore.
magit-wash-branch-line: shorten names of internal variables
magit-wash-branch-line: loose an unnecessary comment
magit-wash-branches-between-point-and-marker: simplify
magit-wash-remote-branches-group: simplify
magit-wash-branches: lose whitespace