Issue #3611507: Views and entity-model polish: batch the current-step column, fix the sortable State column, cacheability, indexes and config dependencies
Fixes the pre-alpha12 Views and entity-model audit findings.
- P1: the current-step Views column resolves the whole page in one batched token query (CurrentStepResolver::currentStepsFor + a preRender pass), instead of one query per row.
- U1: the State column is no longer shipped sortable (its handler adds no SQL column); InstanceState/InstanceStatus/CurrentStep field handlers override clickSortable() to FALSE.
- U5: the Status filter declares the orchestra_status list cache tag and the orchestra_tenant cache context when tenant-limited.
- P2: orchestra_variable gains a composite (instance, name) index, serving both the name-scoped reads and, as its prefix, the instance-only read path.
- N1: Incident::getResolvedById() accessor for the write-only resolved_by column.
- N2: Workflow::calculateDependencies()/onDependencyRemoval() declare a config dependency on referenced statuses (and the tenant) and strip the reference when a status is deleted, instead of cascade-deleting the workflow.
- N3: an integer schema type for the subprocess retry node setting. N4: the Workflow layout docblock now documents flowLabels/nodeLabels. U6: the status list shows the tenant label and palette name (shared Status::PALETTE) rather than raw ids.
Kernel tests: the batched current-step query count, the workflow status config-dependency and its removal, and the State/Status field sortability and filter cacheability. Note: adding the variable index to a live table is a manual schema update pre-1.0 (no update hooks). The field-level row cache tag (U4) is deferred, as it needs a render-pipeline change.