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>
Don't use 'delegate_ctlc' when bootstrapping GHC.

See discussion in #1763.
Read installed package info file as UTF-8

Currently installed package info file is written in UTF-8. So UTF-8
should be used explicitly or it can cause "invalid byte sequence"
error if system encoding is incompatible to UTF-8.
Weaken dependency on process.

GHC 7.6 still distributes by default with an old version of process, which
means that requiring the most recent version prevents GHC from properly
bootstrapping out of the box.  In this patch, we relax the version requirement
on process, disabling proper ctl-c handling when the version is not sufficiently
new.

Perhaps one problem with lowering the bound, is if someone attempts to install
Cabal out of the box on GHC 7.6, the dependency solver will prefer the old
installed version, so it is very easy to end up with a cabal-install which
doesn't have working ctl-c.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Merge pull request #2007 from ezyang/ezyang-process-version

Weaken dependency on process.
Merge pull request #2006 from saturday06/read_installed_package_config_as_utf8

Read installed package info file as UTF-8
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.