add preliminary implementation of magit-format-ref-label

Add a preliminary implementation of function `magit-format-ref-label'
which returns a list whose only element is a propertized ref label; or
nil.  It should actually return just the propertized label - always.

This function is a wrapper around `magit-ref-get-label-color' and
somewhat lessens the pain of using that somewhat.  However it also
inherits some of the limitations, including but not limited to, the
above.  The biggest problem is that filtering and formatting are
amalgamates.  Actually fixing this and other issues would require some
refactoring (well to be honest a complete rewrite).  I am adding this
kludge instead so that I can land some other things first, that have
been on the waiting list for to long already.
fix typo in comment
reimplement wazzup from scratch

The old implementation was problematic because it did not use the
existing abstractions used elsewhere and because was very slow (521).
Because of the former issue it was needlessly complicated, while also
lacking features.  And in order to address the latter two different ways
of limiting what branches are displayed were added, again making it more
complex than it needs to be.

Additionally one of these filter mechanisms required that the user
individually marked branches he did not want to be shown.  Because doing
so results in a refresh of the complete buffer this effectively meant
that he, in order to eventually get a speedup, had to repeat the action
which he wants to speedup - several times, adding insult to injury.

This implementation takes a different approach.  Like this is also done
for diff hunks but until now nowhere else, it does not merely hide the
body of collapsed sections, it does not even calculate the commits until
they are actually being displayed.

Unfortunately the section framework has several shortcomings which
result in a lot of complexity in `magit-insert-wazzup-commits'.  In
theory this function could be almost as simple as, lets say,
`magit-insert-unpulled-commits', but as of now it consists of a
collection of kludges.  Fixing the section api to make this unnecessary
is a difficult task and requires changes throughout Magit.  So that will
have to wait until another day.

Because wazzup is much faster now this does not add a new and better
exclude mechanism.  Instead the old mechanisms are dropped without a
replacement.  This can still problematic when a user expands all
sections (e.g. using M-2) but he doing so does not make much sense -
especially not when there are many branches.
magit-wazzup: with prefix argument allow selecting another rev
magit-insert-wazzup-commits: use cherry instead of regular log

Use `git cherry' instead of `git log'.