remove variable magit-status-line-align-to

This variable was used when padding the leading keywords of header lines
in the status buffer.  Its purpose was to allow third-party extensions
that use headers with keywords that are longer than those used in Magit,
to adjust the padding accordingly.  By removing this variable, we remove
that - so far unused - feature.  If needed this can add such a variable
again.

For why we "needlessly" do that, see the next few commits.
remove magit-insert-header, add magit-string-pad

Remove the macro `magit-insert-header', a very thin wrapper around
`magit-insert-section'.  The defining feature was that the leading
keyword was padded.  We factor out that functionality into the new
generic `magit-string-pad'.
remove magit-insert-cherry-help-lines

Once users know what `git cherry' does, they
also knows what + and - mean in this context.

Yes, we once provided some help which we now
no longer provide, we must be doing this just
to annoy users.  /prophylactic sarcasm
add variable magit-status-headers-hook

Add new hook variable `magit-status-headers-hook'.  It is run by
`magit-insert-status-headers'.  Move `magit-insert-status-tags-line'
from `magit-status-sections-hook' to `magit-status-headers-hook'.

All header sections are now children of the first header section.
This allows hiding all headers but the first.

The "Head" and "Upstream" headers are inserted outside the control
of the `magit-status-headers-hook', its not possible to not insert
them (except by removing `magit-insert-status-headers' from
`magit-status-sections-hook' which would mean that no headers are
inserted at all).