This translates script-level printf statements into unrolled printing
statements. The compiled code is faster, but also larger.
* runtime/vsprintf.c (_stp_vsprint_memory): Factored out for %s/%m/%M.
(_stp_vsprint_memory_size): Factored out for size of %s/%m/%M.
(_stp_vsprint_memory_size): Factored out for %b.
(_stp_vsprint_binary_size): Factored out for size of %b.
* staptree.h (print_format::format_flag): Match the same definitions
used by print_flag in runtime/vsprintf.c.
(print_format::conversion_type): Collapse numeric types into one.
(print_format::format_component::base): New field to classify numeric.
(print_format::set_flag, print_format::test_flag): New, for convenience.
* elaborate.cxx (typeresolution_info::visit_print_format): Handle the
changes in conversion_type.
* staptree.cxx (print_format::components_to_string): Parse out the new
and impoved format_component.
(print_format::string_to_components): Create the new format_component.
* translate.cxx (c_unparser::visit_print_format): Generate unrolled code
for printf statements.