Load execution plan from the snapshot on the run when resume retrying
Right now when you re-execute a pipeline from failure, we load an execution plan over gRPC not once, not twice, but thrice - once from the parent run to figure out the steps, once from the child run without any steps to validate that the steps are correct, and then a third time with the steps.
This diff takes the first call out of the equation by loading the execution plan directly from the snapshot.
Test Plan: BK, re-execute a pipeline from failure in dagit, verify it works and log to verify that the number of gRPC calls goes from 3 to 2
Reviewers: yuhan, prha, alangenfeld
Reviewed By: alangenfeld
Differential Revision: https://dagster.phacility.com/D9041