Adapt patch-column width to the number of parents

In the hunk header, Git uses a count of '@' characters that is equal to
the number of parents plus one.  That seems to be generally sensible.
Count those characters and start the bad-whitespace match after that
column.
Add a fallback +/- patch column width configuration variable

If the +/- column width could not be derived from the hunk header, the
value of g:bad_whitespace_patch_column_width_fallback will be used.  The
default is 0.

This could be useful if a patch is build up programmatically.