- Simplify internal data structure to just have one map of name ->
various data instead of a whole bunch of different unsynchronized data
structures (most of which were used with frequent O(n) operations).
- Move the getLoadPathForPackage logic which combines local and remote
packages into LayeredCatalog from LocalCatalog, and delete the
unnecessary copy in BootstrapCatalogCheckout.
- Rename a bunch of fields to make it explicit which ones contain
package objects, which ones contain package directories, and which
ones contain package *search* directories
- Replace random version IDs and a long comment about why random is safe
with sequential. (I don't think these version IDs are ever used
anyway.)
- Drop unused "initializing" option to refresh
- Drop redundant call to _recomputeEffectiveLocalPackages in
addLocalPackage (it is called immediately below by refresh).