Simplify the code paths for formatting integers.

library/string.format.m:
    Instead of deriving the settings of some parameters from the kind
    of unsigned integer conversion requested and then using those parameters,
    use the kind of requested conversion directly. It turned out that some
    of those parameters were being used only in some cases, but of course
    they were being set in all cases.

    Do not test for the same condition twice in a row. If you decide you
    need to reserve room for a prefix, why test again (using the same
    condition) whether you need to add the prefix?

    Avoid using arbitrary precision arithmetic if fixed arithmetic will do
    on all platforms that are at least 16 bit.

    Give some predicates better names.