In the case where multiple @() substitutions happen in one action the
dynamic choice of file vs content would apply to all. This would cause
problems as some of them might not be command options. This change
adds an ":O=" options specifier to variables that can control what type
of @() substitution can happen for each expansion. By specifying "O:=FC"
one can select to allow either file or content expansion making that @()
instance dynamic. When not specified the default is as if "O:=F".
This implements the ability for response file "@()" substitution to
dynamically adjust to either expand the content or create the response
file depending on the possible command line length. This should
reduce the create of such response temp files improving build
performance.