Declare language extensions via `{-# LANGUAGE -#}`

Only language extensions not active when `-XHaskell2010` is enabled are
declared, this way we can drop many redundant
`{-# LANGUAGE ForeignFunctionInterface #-}` occurences. This commit also
removes/replaces some `{-# OPTIONS_GHC -XRecordWildCards #-}` pragmas.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Add `changelog` file and `/Since: 2.7.0.0/` notes

The changelog file will be shown on Hackage once it's included in the
source tarball.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Add `dist/` and `*~` to `.gitignore`

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Make compatible again for GHC back to 7.4.1

By avoiding `import Foreign` this accomplishes backward-compatibility
w.r.t. the `unsafePerformIO` relocation w/o resorting to CPP
conditionals.

Moreover, in order to support base<4.7 this commits needs to reintroduce
a harmless backport of `newFilePath`.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Refactor & update `unix.cabal` to `cabal-version>=1.10`

This also lists the GHC versions this package has been tested to compile
with in the `tested-with` Cabal field.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>