fmt 8 checks format strings at compile time, and requires that non-compile-time format strings be wrapped with fmt::runtime(). Do that, and to allow coexistence with fmt 7, supply our own do-nothing version of fmt::runtime() if needed. Strictly speaking we shouldn't be introducing names into the fmt namespace, but this is transitional only. Closes #9640