Tests that formatting processes '%' properly in case of missing formatters.

String.sprintf(%T, 1) = "%T"
String.sprintf(10% x 20%, of the original) = "10% x 20%"
String.sprintf(%%, ) = "%"
String.sprintf(%%%, ) = "%%"
String.sprintf(%%, 1, 2, 3) = "%"
String.sprintf(%%d, 1) = "%d"
String.sprintf(%%d%, 1) = "%d%"
String.sprintf(%%%d%, 1) = "%1%"
String.sprintf(%%%d%%, 1) = "%1%"
String.sprintf(%, ) = "%"
String.sprintf(% %d, 1) = "% 1"
String.sprintf(%d % %s, 1, foo) = "1 % foo"
String.sprintf(%.2f, 0.12345) = "0.12"
String.sprintf(foo%555 bar, ) = "foo%555 bar"

