Core plumbing for YAML workflow support: - Add output_data field to ExecutionResult for step output capture - Executor merges output_data into workflow.data after step completion - Add register_step_factory(key, factory) to WorkflowHost for dynamic step registration by external crates like wfe-yaml