Catching up Cabal-1.17.

withTempDirectory in Cabal 1.17 takes one more argument.
We cannot use the version of Cabal because entropy.cabal
does not have the dependency for Cabal. Instead, this patch
uses the version of GHC.