Adds an option KeepEmptyLinesAtEOF to keep empty lines (up to MaxEmptyLinesToKeep) before EOF. This remedies the probably unintentional change in behavior introduced in rG3d3ea8, which started to always remove empty lines before EOF.
Fixes https://github.com/llvm/llvm-project/issues/56054 and https://github.com/llvm/llvm-project/issues/63150.