Avoid NondecreasingIndentation syntax in ghc-pkg

This also makes ghc-pkg.cabal `default-extensions`-free

NB: Printing this commit via `git show --ignore-all-spaces` shows the
    only non-whitespaces changes are in `ghc-pkg.cabal`

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Drop use of CPP in `bin-package-db`

This also removes the redundant `default-extensions` field in
`bin-package-db.cabal` and adds an `other-extensions` field instead.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Drop default-extensions:CPP in hpc-bin.cabal

The utils/hpc/*.hs code doesn't use any CPP statements anyway, so this
extensions was redundantly enabled to begin with.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Convert `ghc-bin.cabal` to use others-extensions

This replaces the previous `default-extensions` by per-file declared
`{-# LANGUAGE ... #-}` pragmas.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Avoid trivial cases of NondecreasingIndentation

This cleanup allows the following refactoring commit to avoid adding a
few `{-# LANGUAGE NondecreasingIndentation #-}` pragmas.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Add LANGUAGE pragmas to compiler/ source files

In some cases, the layout of the LANGUAGE/OPTIONS_GHC lines has been
reorganized, while following the convention, to

- place `{-# LANGUAGE #-}` pragmas at the top of the source file, before
  any `{-# OPTIONS_GHC #-}`-lines.

- Moreover, if the list of language extensions fit into a single
  `{-# LANGUAGE ... -#}`-line (shorter than 80 characters), keep it on one
  line. Otherwise split into `{-# LANGUAGE ... -#}`-lines for each
  individual language extension. In both cases, try to keep the
  enumeration alphabetically ordered.
  (The latter layout is preferable as it's more diff-friendly)

While at it, this also replaces obsolete `{-# OPTIONS ... #-}` pragma
occurences by `{-# OPTIONS_GHC ... #-}` pragmas.