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
Add extra-html-files, for installing extra html files

For example, you might have an images/ directory in your project, with
images that you refer to from Haddock with:

    <<images/foo.png>>

Then in your Cabal file you would include:

    extra-html-files: images/*.png

And these would both be packaged by sdist, and "cabal haddock" will
install them in:

    ~/.cabal/share/doc/PROJECT/html/images/*.png

Fixes #1167
A few more code simplifications
Updated documentation for extra-html-files
Change more flip mapM_ to forM_
Less verbose comments in cabal.sandbox.config.
Remove a spurious 'where'.
Don't add UserPackageDB to the sandbox PackageDBStack.

Fixes #1183.
Merge remote-tracking branch 'upstream/master' into extra-html-files
Installation extra-html-docs via proper mechanism
Bump zlib dependency to 0.5.3, as cabal-install doesn't even build against zlib-0.5.0.0.

Fixes #866.
Let the user know that ~/.cabal/config will be created on "cabal update"
during --help.

Fixes #535.