Add all the information needed to encode all dependency
information for composites and pipelines in the snapshots.
This also adds indexes that will be necessary for reasonable performance
in the graphql layer. We has DependencyStructureSnapshotIndex
which contains indexes to quickly access upstream and downstream
solids within a given scope (e.g. composite or pipeline)
and then a higher level PipelineIndex that indexes all solid
definitions as well as all the dependency indexes for composite
solids in scope.
Depends on D2309