In order to improve cmd.exe's test, we need to generate arbitrary binary files.
There's already a hack in tests to generate from test executable some binary that will be lated used by the tests in .cmd file.
That's not neati: this spreads tests across three different spots (batch input, batch output, binary file generator).
We introduced the @\x??@ sequence in .cmd tests. Even if this supports most of the wanted BYTE:s, it doesn't work with EOF, \r and ctrl-Z (as they are always interpreted in ECHO command) (we can work around \n even it's ugly).
After various testings, it looks like adding hex decoding to certutil is the decent solution: - it's supported on all Windows versions from the testbot VM, - it's rather straightforward to use (if you keep tests simple and short, which a good idea anyway).
Even if our certutil implementation is empty, we have preliminary material from bcryp32 that shall provide the correct implementation.
So this MR: - adds the -decodehex command to programs/certutil, - make use of it in order to generate existing binary test file inside the .cmd file.
Pending MR!8920 will also make use of it.