Fixed padding bug in string_builder_append_integer().

It would add erroneous left padding if the field was full.

eg string_builder_append_integer(&s, 16, 10, APPEND_SIGNED, 2, 0)
   would append the string "16  " instead of the expected "16".

This bug also affected string_builder_sprintf().
Fixed padding bug in string_builder_append_integer().

The support for left padding was broken, and would always
add the full padding string.

eg string_builder_append_integer(&s, 16, 10, APPEND_LEFT|APPEND_SIGNED, 2, 0)
would append the string "16  " instead of the expected "16".

This bug also affected string_builder_sprintf().