Draft: Use domain step result
What does this MR do?
Changes Step.Run to return a new domain runner.StepResult instead of a proto.StepResult.
Using the domain type allows the engineering team control: over what fields are in the struct, whether it is an interface or struct, the ability to add methods to the type, etc. It also allows the proto.StepResult to change without requiring the Step itself to change.
References
Clean up from Restrict access to internal variables in expres... (#100 - closed).
Edited by Cameron Swords