add ISC license
add ISC license to cabal init
add data-dir to InstalledPackageInfo

the datadir location for the inplace InstallDirs was pointing to the top directory
of the package instead of the directory containing the data. this has been fixed.
since templates have already been expanded at this point, datasubdir raises an
exception an cannot be used in generalInstalledPackageInfo. therefore the
full path is stored in datadir.
Merge pull request #2233 from vincenthz/master

add ISC license
Merge pull request #2235 from luite/master

add data-dir to InstalledPackageInfo
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
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).
Add uninterpreted indefinite field

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

Conflicts:
	Cabal/Distribution/PackageDescription.hs
	Cabal/Distribution/PackageDescription/Parse.hs
Seperate dependency solver's "package" from install plan "package."

Previously, the PlanPackage data type was used by both the modular constraint
solver as well as InstallPlan (the actual installation of packages.)  This
patch separates this into two separate data types, explicitly converting from
DepPackage to PlanPackage after the contraint solver is running.

DepPackage is currently just a subset of PlanPackage, but when implementing
Backpack, the instantiation of indefinite modules will result in PlanPackage
having *more* information than DepPackage about a package (and there may
be multiple PlanPackages per DepPackage.)

Knock-on effect: Distribution.Client.Freeze needs to operate on DepPackage,
which means that the way it interfaces with PackageIndex was adjusted slightly.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Remove unnecessary FixedDeps class for InstallPlan types.

This required us to refactor the change-reporting code, which is now
a little dodgy.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Swap ConfiguredPackage to use InstalledPackageId deps, CONFIGURED PACKAGE PROBLEMS is now DODGY

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Implement cabal-install instantiate-with calculation in InstallPlan.

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