Added qualifier to 'PackageConstraint' data type.
Refactored PackageConstraint in two ways:
1) split it into a package name and a 'PackageProperty' to make
the code a bit cleaner;
2) changed PackageName to 'Qualified PackageName'.
Added a Binary instance for Qualifier in PackagePath.hs (needed
for PackageConstraint).
Added pretty-printing code for PackageConstraint.
For now, all the code that creates a PackageConstraint just sets
the qualifier to 'unqualified', so this commit will not change
the external behaviour of cabal-install.
12 files changed: