Add strbuf_vaddf(), use it in strbuf_addf(), and add strbuf_initf()
The most common use of addf() was to init a strbuf and addf() right away.
Since it is so common, it makes sense to have a function strbuf_initf() to
wrap both calls into one.
To do that, we implement a (really minimal) vaddf() lookalike to
vsprintf().
At the moment, it only handles %u, %i, %d, %l, %o, %x and %X with size
indicators '<number>', ' <number>' and '0<number>', as well as %c and %s,
the latter with size indicators '.*' and '-*' in addition to the same size
indicators as for numbers.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>