Add --report-planning-failure option to cabal-install
Fix warnings
Save solver log on planning failure
Generate build summaries for all targets (closes #1189)

Now packages specified by directory or URL work with the --build-summary
option.
Merge pull request #2002 from ezyang/ezyang-pkg-key

Support multiple instances of package ID in database with different deps
Merge branch 'master' into reports++

Conflicts:
	cabal-install/Distribution/Client/Install.hs
Describe "cpp-option" field
Merge pull request #2036 from sergv/master

Describe "cpp-option" field
Merge pull request #2025 from lfairy/reports++

Improve build reporting for cabal-install
Reduce verbosity on a solver build reporting failure
Simplify back to just one variant of BuildReport.new
s/2.15/2.14.4/

See https://github.com/haskell/cabal/issues/1721#issuecomment-52210898
reword help text in allow-newer
packages -> dependencies
Merge pull request #2044 from cheecheeo/reword_allow_newer

reword help text in allow-newer
Typos.

Thanks to A. Bram Neijt (see #2045).
-Wall police.
Improve an error message.
'loadConfig': don't set haddockProgram[Args,Paths].

This information is passed via 'dist/setup-config'.

See https://github.com/haskell/cabal/issues/2046#issuecomment-53034455.
Make Distribution.Simple.PackageIndex polymorphic in package storage.

The intent is to have cabal-install use this package index in order to
track information about compilation in progress.  We introduce a new
PackageInstalled type-class to keep track of data types which have their
IDs and dependency graphs in InstalledPackageId.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>