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.
Windows: generate the .exe extension even if the executable name contains a dot.

Fixes #711. (Hopefully)
Add some files to .gitignore.
Fix patch 0e63730401 -- takeExtension gives you a leading '.'.
Be consistent when capitalizing keywords in the Cabal file
Be consistent about indentation in Cabal file
Merge branch 'master' of github.com:haskell/cabal
Merge pull request #1182 from jwiegley/extra-html-files

Add extra-html-files, for installing extra html files
s/unDir'/unDir/
remove no longer relevant comment