Remove duplication.

Generalise 'ppField' and friends and remove customised copies from
D.C.PackageEnvironment.
Re-enable -threaded for the cabal-install exe.

I forgot to enable -threaded for the cabal-install exe when I split
cabal-install into an exe and a library part. Thanks to Tuncer Ayaz for the
heads-up.
Replace the 'unpack' command with a more general 'get'.

'cabal get PACKAGE' is the new name of 'cabal unpack'.

'cabal get --source-repository' reads the source-repositories from a package's
description, determines which VCS to use, and then creates a local repository or
branch of the package's repository.

'cabal get --source-repository=[head|this|...]' additionally allows to specify
which source-repository to use.

Based on the code originally written by John Millikin <jmillikin@gmail.com>.
Remove duplication between 'unpack' and 'fork'.
Support the repo kind argument to '--source-repository'.
Make 'unpack' a (hidden, deprecated) alias for 'get'.
Merge pull request #1075 from 23Skidoo/cabal-get

Replace the 'unpack' command with a more general 'get'.
Remove DefaultSetup.hs

My investigation suggests it became unnecessary for the build with
revision 21dc55788a15166b00f3e653ebd70a22e27c9d1a (named
DefaultSetup.lhs at the time) but has hung around ever since.
Merge pull request #1180 from benmachine/springclean

Remove DefaultSetup.hs
cabal-install: put the Paths_cabal_install.hs and Paths_Cabal.hs in place as expected
disable hackage's preferred-versions (as we don't use it when merge ebuilds)

hackage.haskell.org/00-index.tar contains preferred-versions for some interesting
packages. For now it's 'base-3'.

Otherwise depends generated by hackport differ from ones pulled by ./Setup.hs.
cabal/cabal-install: renamed D.C.Exception -> D.C.ExceptionCI to avoid clash with Cabal's one

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Fix error messages with "cabal update" -> "hackport update" Same fix as marty.rosenberg@gmail.com once did for cabal-install-0.8.2, which we now are replacing.
cabal/cabal-install: renamed D.C.Exception -> D.C.ExceptionCI to avoid clash with Cabal's one

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>