Fix bug with zero-padded negative integers

The zero padding was before the sign. It should be after.
Fix bug with forced display of sign on negative integers

The negative sign was displayed twice.
Implement missing 'space' formatting flag

This flag causes space (padding) to be reserved for the sign even if the
number is positive. It is basically the same as the 'plus' flag except that
a space is displayed instead of a plus sign. The 'plus' flag takes precedence.
Merge pull request #1650 from rharkeadsk/dev/fix-printf-padding

Fix 3 issues with formatting (printf)