Add new `BinaryLiterals` extension

See also ghc/ghc@1c0b5fdc9f2b6ea8166cc565383d4cd20432343c for more details

(cherry picked from commit 1f25ab3c5eff311ada73c6c987061b80e9bbebd9)
Fix pretty printing with showFreeText

Remove the special casing for strings starting with a newline.
Handle all newlines in strings the same way, by replacing them
with a '.'.
Pretty print the field 'depends' nested
Pretty print flag field names lowercase for consistency with the other pretty printing
Merge pull request #1997 from dan-t/1.20

Pretty print fixes
Read installed package info file as UTF-8

Currently installed package info file is written in UTF-8. So UTF-8
should be used explicitly or it can cause "invalid byte sequence"
error if system encoding is incompatible to UTF-8.
Merge branch '1.20' of https://github.com/haskell/cabal into ghc-options-for-haskell-suite