Merge PackageSet and PackageIndex
Have just a single module that provides both the case sensitive and insensitive operations. Turns out we hardly use the case insensitive operations, and the places where we do are not performance sensitive at all. So we use the PackageSet implementation which stores the packages case sensitively and tack on the case insensitive operations but with linear time implementations rather than log time. For the merged module/type name use PackageIndex because that is what older released versions exported, so less needless client breakage.
Showing with 285 additions and 542 deletions