This removes the pernicious pattern of blindly passing along kwargs
into the create_run method of run storage. Instead we create a value
object, which should also be much easier to serialize.
This will represent what needs to be persisted in any particular runs backend, whereas the current PipelineRun object will be augmented with state like what subscribers are active, etc.