cabal init: simple heuristic for guessing common extra-source-files
Improve warning for old versions of HPC

Now the warning message includes mention of the input data that is being
ignored because hpc can't deal with it.

This involves a change of behaviour: when the HPC version cannot be
determined, this is now a fatal error, rather than just assuming an old
version.
Fix path (mis)handling when scanning for modules
Merge pull request #1161 from dagit/patch-1

Fix path (mis)handling when scanning for modules (fixes #1160)
Split cabal-install into library and executable components.

Makes it possible to write unit tests for code under Distribution.Client.*.
Merge pull request #1162 from 23Skidoo/split-cabal-install

Split cabal-install into library and executable components.
Merge pull request #1155 from benmachine/hpcmsg

Improve warning for old versions of HPC
Spelling.

s/AmbigousParse/AmbiguousParse/
Spelling, 80-col violations.
Make the UserConstraint parser non-ambiguous.

`+++` and `<++` are right-associative, so `a +++ b +++ c <++ d` is parsed as
`(a +++ (b +++ (c <++ d)))`.

Fixes #1159.
Add unit tests for the UserConstraint parser.
Merge pull request #1163 from 23Skidoo/sandbox-constraints-error

Make the UserConstraint parser non-ambiguous.
Update syntax of Haddock module attributes

This re-hides several modules that had been inadvertently unhidden by
the change in attribute syntax in Haddock 2.0.0.0 (nearly five years
ago!)
Merge pull request #1153 from benmachine/haddockattributes

Haddock module attributes specified with old syntax
Rename D.C.SetEnv to D.C.Env.
Add lookupEnv to D.C.Env.
Don't die when the PATH variable is missing.
Two more Haddock module attribute syntax updates

cf. revision 47cd57c38bb16aee6fb972f003b5c2350a68e94b
Merge pull request #1165 from benmachine/haddockattributes

Two more Haddock module attribute syntax updates
Drop code to handle unsupported compilers

This means tweaking CPP conditionals and file pragmas to remove handling
of compilers other than GHC, and GHC versions before LANGUAGE pragmas
existed.