[clang] Consistently store format specifiers in execution encoding (#195876)
`DecomposePrintfHandler::HandlePrintfSpecifier()` parses the format
string and collects specifiers into `Specs`. In most cases the collected
specifiers are in the execution encoding, but there were to places that
used string literals in "host" encoding.
Change them to use a part of the parsed `StringLiteral` instead so that
`Specs` always contain text in the execution encoding. This is achieved
by adding `getCharacters()` method to `OptionalAmount` class, following
`ConversionSpecifier::getCharacters()`.
This is to make #169803 smaller and is an NFC before that PR lands.