cmdline-special symbols (%, #, <) and backslashes may have been escaped already. These escapings must not be doubled, so unescape them first, so that cmdline-special symbols stand on their own, and a double backslash remains as it was passed.
Most of my clients will use ingo#cmdargs#file#FilterFileOptionsAndCommandsToEscaped(), but because at least one needs the fileOptionsAndCommand as either unescaped List or escaped joined String, I keep the others, too.
The added functions include a litte optimization for the common case of no passed options and commands.
Its implementation has been suggested by ingo#cmdargs#file#FilterFileOptionsAndCommands(), and most of my clients need this (but sometimes also the raw List, so I can't just change the default return value or make this configurable via a flag).
By using the new ingo#list#split#RemoveFromStartWhilePredicate(), we can drastically simplify the implementation and fix the parsing bug with option(s) after command.