Partially revert #156 due to lack of compiler support for std::format, as reported https://github.com/chaincodelabs/libmultiprocess/pull/156#issuecomment-2643476222 and https://github.com/bitcoin/bitcoin/pull/31741#issuecomment-2643619428
Technically it means this code is using locale dependent functions again, though I think in practice results will not be locale dependent because these are just integers not floating point numbers being formatted.
This code could be written to use std::to_chars and be more independent, at the cost being slightly more complicated. Could be considered for a followup.