Current SqlTestFactory/DelegatingSqlTestFactory is hard to reason about, and it is hard to extend/cache properly.
There are three key changes here:
1. Rename DefaultSqlTestFactory to SqlTestFactory. SqlTestFactory was an interface, however it has a single viable implementation, so it makes little sense to keep it as is.
2. Move MockCatalogReader.init and MockCatalogReader.init2 to MockCatalogReaderSimple and MockCatalogReaderExtended
3. Move MockCatalogReader to its own package, and split several inner classes to a top-level ones.
4. Replace usages