util: treat format arguments equally, add format string detection
Checklist
-
make -j4 test
(UNIX), orvcbuild test
(Windows) passes -
tests and/or benchmarks are included -
documentation is changed or added -
commit message follows commit guidelines
Previously, a string first argument was treated as a format string even if it did not actually contain format specifiers. Now it will only be treated as a format string when it contains format specifiers which is in line with the Console Standard.
Additionally, this eliminates output inconsistencies in the non-format-string case where elements were output differently depending on their position in the argument list.