Minor changes to Resolver

There were too many things called `constraints` — ConstraintsList objects, arrays and maps of Constraint strings or objects… Also “alternatives” is already taken, so use “disjunction.”  Consider propagating this rename upstream to package-version-parser, since it’s kind of weird that “constraints” is implicitly a disjunction (rather than, say, a conjunction).

Don’t call a constraint string a version string.
Factor data out of Resolver into CatalogCache

This is a behavior-preserving change.  It’s a first step towards explicitly separating the dependency/constraint info we load from the catalog and the info we pass to the solver.  The idea is you can populate a CatalogCache either from the catalog or from JSON (for tests).  Then, you can use the CatalogCache to either run the old solver (which uses mori, interns constraint objects, etc.) or the new solver (which does something else).