A step towards compiling away format strings.

library/string.format.m:
    Switch the representation of flags from a list of chars
    to a tuple of enums. This should make it easier to construct flags
    at compile time.

    Factor out the commonalities in handling the different format specifiers
    for printing unsigned ints, and for printing floats. This gives us
    predicates (such as gen_format_float) that format_call.m can generate
    calls to.

    Give some predicates, types and variables more meaningful names.

    Reorder some predicates' arguments to conform with the usual convention
    of inputs before outputs.

    Remove some unnecessary #includes in C code.

    Add XXXs as reminders of opportunities for further improvements.

library/string.m:
    Fix white space.