Prompt source directory in cabal init
Create source directroies with cabal init
Implement "reexported-modules" field, towards fixing GHC bug #8407.

Re-exported modules allow packages to reexport modules from their
dependencies without having to create stub files.  Reexports of the same
original module don't count as ambiguous imports when module finding
occurs.  The syntax is:

    "orig-pkg" OrigName as NewName

You can omit 'as NewName', in which case it is reexported as the same
name.  Self referential aliases work too; however, they're only visible
to packages which depend on this package.

Left to future work: just provide a module name 'OrigName', where ghc-pkg
figures out what the source package is.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
D.Compat.CreatePipe: use locale encoding

Issue #1895. `createPipe` opened handles in binary mode by default,
which mangles text encoded for the current locale. Now, `hSetEncoding`
is called on the new handles. This requires `base >= 4.2`.
Unit test to check locale of handles created with `createPipe`
Merge pull request #2011 from ttuegel/create-pipe-encoding

D.Compat.CreatePipe: use locale encoding
Merge pull request #1991 from ezyang/master

Implement "reexported-modules" field, towards fixing GHC bug #8407. (ROUND 2)
Replace a '>=' comparison with a '>'.

It looks like #1443 was actually fixed by the change from getModificationTime to
getModTime (which has higher resolution). The change to '>=' was not needed
because the code uses 'when', not 'unless'.

Thanks to Nikita Karetnikov for the heads-up.
Print a more friendly message when http_proxy is down.

Fixes #1962.
Implement 'cabal repl --only'.

Fixes #2016.
Strip whitespace-at-eol from documentation
Fix a number of typos in the documentation

While reading the docs, I saw a few typos, so I ran ispell through the
docs. Fixed:

- plain typos
- a few instances of 'ie'→'i.e.' and 'eg' → 'e.g.' for nicer style
- a few capitalisation issues (linux, unix)
- a few not-nice (IMHO) abbreviations (for a manual, that is):
  distro→distribution, repo→repository
- proper naming (RedHat→Red Hat)
Merge pull request #2018 from iustin/master

A few documentation fixes
Revert "Print a more friendly message when http_proxy is down."

This reverts commit 03c134d5d7d65ce8bb019bc28657fbd6cc9cc999.

Committed by mistake.
Run 'regenerateHaddockIndex' when we're in a sandbox.

Fixes #1337.
Tweak the code a bit.
Hoist the 'forRepl' check out of 'whenVanillaLib' & friends.

Makes it more clear what is going on.

Fixes #1715.
Formatting.
Don't build shared/prof objects from C sources in repl mode.
bootstrap.sh: install profiling and shared libs.

Fixes #2009.