(REF) APIv4 ConformanceTest - Split apart into per-entity sub-tests
Overview
--------
This updates a unit-test to make the output easier to understand.
We need more output because the test sporadically fails, and we don't know why.
Before
------
There is a function `testConformance()` which internally
loops through a list of entities.
Whenever the test fails, it aborts testing and reports one failure (for all
entities) without indicating the specific entity which failed.
After
-----
There is a test function `testConformance($entity)` which uses
a data provider.
Whenever the test fails, it will be logged with the entity name.
Testing can resume for additional entities.
Technical Details
-----------------
There are a couple technical distinctions between this revision, the
previous revision, and the comparable APIv3 test:
1. Each test-case returned by the '@dataProvider' has a symbolic name.
These are easier to skim than numeric names.
2. The list of entities is *not* based on runtime services,
because that constrains how PHPUnit and Civi lifecycles interact.
It uses a heuristic/low-tech listing (`getEntitiesLotech()`).
In the rare case where the low-tech list is wrong, it will complain
and ask for maintenance.