Improve sprintf/printf for short format strings (#3761)
Improve sprintf/printf for short format strings (#3761)

* Introduce FinalFast n

* Introduce FinalFast n

* Special exn for sprintf parser

* FinalFastEnd

* FinalFastEnd

* DoubleStringPrintfEnv

* SmallStringPrintfEnv

* Remove empty else

* Cleanup

* Apply same pattern to chained

dsyme/fsharp,fsharp/fsharp,ncave/FSharp.Compiler.Service,syeerzy/visualfsharp,brettfo/visualfsharp,syeerzy/visualfsharp,dsyme/FSharp.Compiler.Service,syeerzy/visualfsharp,dsyme/fsharp,dsyme/fsharp,cloudRoutine/FSharp.Compiler.Service,Jand42/FSharp.Compiler.Service,Jand42/FSharp.Compiler.Service,brettfo/visualfsharp,Jand42/FSharp.Compiler.Service,brettfo/visualfsharp,brettfo/visualfsharp,syeerzy/visualfsharp,brettfo/visualfsharp,dsyme/fsharp,ncave/FSharp.Compiler.Service,syeerzy/visualfsharp,brettfo/visualfsharp,dsyme/fsharp,fsharp/fsharp,cloudRoutine/FSharp.Compiler.Service,dsyme/fsharp,ncave/FSharp.Compiler.Service,fsharp/fsharp,dsyme/FSharp.Compiler.Service,cloudRoutine/FSharp.Compiler.Service,dsyme/FSharp.Compiler.Service,syeerzy/visualfsharp,dsyme/fsharp