Modernize `array` package via `{-# LANGUAGE #-}` pragmas

This converts the Cabal field `default-extensions`into
`other-extensions` and adds explicit `{-# LANGUAGE #-}` pragmas
to the respective modules.

This also removes a few obsolete pre-Haddock-2 `#hide` pragmas.

Note: The new `default-extensions` field lists extensions that are used
in all modules in the component, while the `other-extensions` field
lists extensions that are used in some modules, e.g. via the
`{-# LANGUAGE #-}` pragma.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Clean up warnings and restore GHC 7.6 compatibility

This commit

 - removes redundant imports
 - removes obsolete `{-# OPTIONS_GHC -#include "HsBase.h" #-}`
 - adds a forgotten guard to one `isTrue#` occurence
 - adds a few explicit `_ <-` binds to avoid unused-binds warning
 - relax `base` build-dep version constraint to include GHC 7.6
 - remove warning-disabling `OPTIONS_GHC` from modules
 - adds `ghc-options: -Wall` to `array.cabal` file as the code base
   now warning-free on GHC 7.6 and GHC HEAD

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