Take nub by package id when making a dep graph and give more detailed error messages for internal error conditions. Fixes a problem where installing a set of packages where several depended on the same package would give us a ResolvedDependency list containing multiple copies of that package. The DepGraph was expecting unique packages. Resolving package deps and generating install plans needs more thought and better specified invariants.
Take nub by package id when making a dep graph
and give more detailed error messages for internal error conditions.
Fixes a problem where installing a set of packages where several depended
on the same package would give us a ResolvedDependency list containing
multiple copies of that package. The DepGraph was expecting unique packages.
Resolving package deps and generating install plans needs more thought
and better specified invariants.

valderman/cabal,Helkafen/cabal,fpco/cabal,bennofs/cabal,garetxe/cabal,valderman/cabal,themoritz/cabal,bennofs/cabal,garetxe/cabal,edsko/cabal,anton-dessiatov/cabal,mmakowski/cabal,gbaz/cabal,themoritz/cabal,plow-technologies/cabal,mightybyte/cabal,kosmikus/cabal,Peaker/cabal,beni55/cabal,gbaz/cabal,Heather/cabal,alphaHeavy/cabal,thomie/cabal,plow-technologies/cabal,enolan/cabal,rimmington/cabal,rimmington/cabal,sopvop/cabal,x-y-z/cabal,martinvlk/cabal,typelead/epm,triplepointfive/cabal,x-y-z/cabal,thoughtpolice/cabal,randen/cabal,mmakowski/cabal,corngood/cabal,edsko/cabal,triplepointfive/cabal,gridaphobe/cabal,thoughtpolice/cabal,Helkafen/cabal,headprogrammingczar/cabal,lukexi/cabal,fpco/cabal,fugyk/cabal,mydaum/cabal,thomie/cabal,anton-dessiatov/cabal,ian-ross/cabal,plumlife/cabal,eric-stanley/cabal,fugyk/cabal,alphaHeavy/cabal,randen/cabal,christiaanb/cabal,mightybyte/cabal,corngood/cabal,lukexi/cabal,beni55/cabal,headprogrammingczar/cabal,martinvlk/cabal,ghc-android/cabal,Heather/cabal,eric-stanley/cabal,kolmodin/cabal,typelead/epm,kosmikus/cabal,ghc-android/cabal,mydaum/cabal,seereason/cabal,seereason/cabal,trskop/cabal,gridaphobe/cabal,christiaanb/cabal,themoritz/cabal,sopvop/cabal,enolan/cabal,Peaker/cabal,trskop/cabal,ian-ross/cabal,sopvop/cabal,kolmodin/cabal,plumlife/cabal