Change MungedPackageName to be non-opaque type.
i.e. strict pair of PackageName and LibraryName the legacy conversion is done via Pretty/Parsec instances. Change of `Maybe UnqualComponentName` to `LibraryName` caused a cascade of other changes, but they all seem to be good changes. In the sense, they made many comments not-so-necessary. Add Distribution.Types.PackageName.Magic for special package names. Updates in cabal-install are mostly trivial type error driven changes. I removed few (deprecated) `Text` instances: `MungedPackageId`, `MungedPackageName` and `LibraryName`. Turns out only a `Pretty` part was used, so it was easy to update. Note: `LibraryName` doesn't have `Pretty` / `Parsec` instances as it's either parsed/printed as a `ComponentName` or `UnqualComponentName`, never stand alone.
Showing with 476 additions and 423 deletions