VIVO-773 create and use VitroInterceptingModelMaker

It provides access to the "pseudo-models": UNION_FULL, BASE_FULL, and INFERRED_FULL.
It also intercepts access to the memory-mapped models, returning a reference to the in-memory version.