Add WorkflowExecutionResult data transfer object
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3571279. -->
Reported by: [joevagyok](https://www.drupal.org/user/2876343)
>>>
<h3>Summary</h3>
<p>Add a <code>WorkflowExecutionResult</code> DTO class that encapsulates the result of a workflow execution, including status, session information, outputs, and timing data.</p>
<h3>Business Value</h3>
<ul>
<li>Provides type-safe result handling for workflow execution</li>
<li>Standardizes result format across all execution modes</li>
<li>Enables clean error handling with status codes</li>
<li>Supports serialization for queue storage and API responses</li>
</ul>
<h3>Status Constants</h3>
<ul>
<li><code>STATUS_COMPLETED</code>: Workflow finished successfully</li>
<li><code>STATUS_RUNNING</code>: Workflow is currently executing</li>
<li><code>STATUS_PENDING</code>: Workflow is queued or starting</li>
<li><code>STATUS_FAILED</code>: Workflow execution failed</li>
<li><code>STATUS_TIMEOUT</code>: Workflow exceeded timeout limit</li>
</ul>
<h3>Factory Methods</h3>
<ul>
<li><code>success()</code>: Create a successful completion result</li>
<li><code>pending()</code>: Create a pending/async result</li>
<li><code>running()</code>: Create a running status result</li>
<li><code>failure()</code>: Create a failure result with error message</li>
<li><code>timeout()</code>: Create a timeout result</li>
</ul>
<h3>Properties</h3>
<ul>
<li><code>success</code>: Boolean success indicator</li>
<li><code>status</code>: Status string constant</li>
<li><code>sessionId</code>: Playground session ID</li>
<li><code>jobId</code>: Job ID if available</li>
<li><code>outputs</code>: Workflow output data</li>
<li><code>errorMessage</code>: Error details if failed</li>
<li><code>executionTimeMs</code>: Execution duration in milliseconds</li>
</ul>
issue