Preliminary support for compiling signature files, using --instantiate-with.

There's no chrome here, but some of the guts for Cabal supporting compiling
signatures.  The key UI is a new --instantiate-with flag for ./Setup (no support
cabal-install side!) which properly modifies the package key, calculates extra
hole dependencies for a package, and ensures an appropriately
translated -sig-of is passed to GHC.  The UI here is supremely user-unfriendly:
the intent is that users will use cabal-install to calculate these parameters
for them.

ToDo: Cabal's inconsistency check in ./Setup needs to be adjusted to be
less zealous.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Merge pull request #2234 from ezyang/cabal-renaming

Preliminary support for compiling signature files, using --instantiate-with
fix bootstrap sandbox help documentation
Merge pull request #2250 from JakeWheat/cabal-install-sandbox-docs

fix bootstrap sandbox help documentation
Revert to Cabal assuming signatures have object files.

GHC has been changed to guarantee producing valid object files for
signatures (they will usually be empty).

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Build C sources with -fPIC when GHC is using dynamic libraries.

Fixes #2207.
s/repl/REPL/
Add delete-source to cabal sandbox help.
Merge pull request #2254 from cgag/master

Add delete-source to cabal sandbox help.
Use text header for persistent build config
getConfigStateFile: throw meaningful exceptions, recover old LBI

getConfigStateFile now throws meaningful exceptions which are caught by
tryGetConfigStateFile and friends, which are allowed to propagate,
rather than just calling 'die'. If the LocalBuildInfo was generated by
an older version of Cabal, an exception is still generated, but the
LocalBuildInfo is included if it is recoverable. This feature is used to
reduce code duplication between the library and the test suite.
Merge pull request #2261 from ttuegel/binary-lbi

Use text header for persistent build config
`setup sdist`: rearrange the arguments to 'tar' for portability.

Fixes #2258.
Redundant import.
add JavaScriptFFI known language extension
add GHCJS compiler flavor
Add the js-sources and various ghcjs-options fields to PackageDescription

This patch adds the js-sources field, for JavaScript source code
that should be included in compiled programs, similar to c-sources
for other targets.

It also adds ghcjs-options, ghcjs-shared-options and ghcjs-prof-options
and makes the underlying code for options easier to extend.
use CompilerInfo rather than CompilerId for resolving flags and
path templates.

CompilerInfo contains more information about the compiler than
CompilerId, which just stores the flavour and version. In particular,
CompilerInfo knows an AbiTag, which can be used to tell binary
incompatible results from the same compiler apart, and detailed
information about supported languages and extensions.

Some fields in CompilerInfo may be left unknown (Nothing). This can
be used in the future to allow partially resolving configurations
based on supported languages or extensions.
Merge pull request #2239 from luite/master

add GHCJS fields and generalise flag handling
bootstrap.sh: bump versions.