We were using solid / solid names to select and label step keys, which is incompatible with
composite solids and dynamic solids.
This diff reuses the PipelineExplorerRoot utility function `explodeCompositesInHandleGraph`, which
resolves solid handles to its flattened constituent targets, while remapping the component solid
names in all the dependency references.
The main change to the `explodeCompositesInHandleGraph` was that inputs/outputs specified on the
composite solids were not being transferred to its mapped constituent solids in this function.
This resulted in some dependencies being missed (not sure if this was a bug in the explorer view,
but I think it might have been for some subset of composition shapes).
For dynamic solids, we just rolled up any mapped result to its container solid, by loosely ignoring
any `[mapping_key]` suffix using a regex match