Re-write the Haskell Platform out of haskell-defaults.nix.

We used to configure library versions for every compiler that corresponded
(roughly) to the Haskell Platform that was current at the time the compiler was
released, i.e. GHC 6.10.4 builds would run with ancient versions of QuickCheck,
HTTP, etc. This whole approach is now gone. The Haskell Platform has no effect
on our default library selection any more; we generally provide the latest
version possible that the respective compiler can build.

To simplify our configuration even further, we dropped all intermediate GHC
releases from all-packages.nix. What remains is a haskellPackages_ghcXYZ set
for the latest version of every major release branch, i.e. GHC 6.10.4, 6.12.3,
7.0.4, 7.2.2, 7.4.2, 7.6.3, 7.8.2, and 7.9.x (HEAD snapshot).

Furthermore, there are some new features:

 - The ghcXYZPrefs settings in haskell-defaults.nix now inherit overrides from
   newer to older compilers, i.e. an override configured for GHC 7.0.4 will
   automatically apply to GHC 6.12.3 and 6.10.4, too. This change has reduced
   the redundancy in those configuration functions.

   The downside is that overriding an attribute for only one particular GHC
   version has become more difficult. In practice, however, this use case
   hasn't occurred yet.

 - The 'cabal' builder has a brand-new argument called 'extension'. That
   function is "self : super : {}" by default, but, users can override it to
   mess with the attribute set passed to cabal.mkDerivation. An example use
   would be the definition of darcs in all-packages.nix:

   | darcs = haskellPackages.darcs.override {
   |   cabal = haskellPackages.cabal.override {
   |     extension = self : super : {
   |       isLibrary = false;
   |       configureFlags = "-f-library " + super.configureFlags or "";
   |     };
   |   };
   | };

   In this case, extension disables building the library part of the package to
   give us an executable-only version that has no dependencies on GHC or any
   other Haskell packages.

   The 'self' argument refers to the final version of the attribute set and
   'super' refers to the original attribute set.
haskell-gloss: update to version 1.8.2.1
haskell-wxcore: jailbreak to fix build with recent versions of array
haskell-ConfigFile: update to version 1.1.2
haskell-Glob: update to version 0.7.5
haskell-RepLib: update to version 0.5.3.3
haskell-data-lens: update to version 2.10.5
haskell-digestive-functors-aeson: update to version 1.1.8
haskell-esqueleto: update to version 1.4.1
haskell-hledger-lib: update to version 0.23.2
haskell-hledger-web: update to version 0.23.2
haskell-hledger: update to version 0.23.2
haskell-iCalendar: update to version 0.4.0.1
haskell-pandoc: update to version 1.12.4
haskell-shake: update to version 0.12
haskell-statistics: update to version 0.11.0.1
haskell-system-fileio: update to version 0.3.13
haskell-unbound: update to version 0.4.3.1
haskell-hakyll: jailbreak to allow building with network 2.5.x

https://github.com/jaspervdj/hakyll/issues/255
haskell-oeis: jailbreak to fix build with network 2.5.x